【发布时间】:2016-10-11 09:17:46
【问题描述】:
我的二维数组有句子、它们的标记和它们的标签。我想删除除名词和动词以外的所有其他标签。我想删除不是动词/名词的整个索引。现在我的代码只是在该索引上放置一个空值。但我希望从数组中删除该索引。我的代码是:
HashSet<String> tagsToRemove = new HashSet<String>() { "'NN'", "'NNS'", "'VBD'", "'VBG'", "'VBZ'", "'VB'" };
for (int i = 0; i < array2D_of_tags.GetLength(0); ++i)
{
if (!tagsToRemove.Contains(array2D_of_tags[i, 2]))
array2D_of_tags[i, 2] = null;
//Console.WriteLine(array2D_of_tags[i, 2]);
}
这是 array2D_of_tags 中的数据:
A supplier supplies many parts. | 'A' | 'DT' |
A supplier supplies many parts. | 'supplier' | 'NN' |
A supplier supplies many parts. | 'supplies' | 'NNS' |
A supplier supplies many parts. | 'many' | 'JJ' |
A supplier supplies many parts. | 'parts' | 'NNS' |
A supplier supplies many parts. | '.' | '.' |
【问题讨论】:
-
在
array2D_of_tags中添加数据示例会很有帮助。请显示输入数据和预期输出。它会使问题更清楚。请将此数据添加到问题本身:) -
如果从 2x2 数组中删除一项,新数组的大小是多少?
-
数组看起来像:供应商提供许多零件。 | '一个' | 'DT' |供应商提供许多零件。 | '供应商' | 'NN' |供应商提供许多零件。 | '供应' | 'NNS' |供应商提供许多零件。 | '很多' | 'JJ' |供应商提供许多零件。 | '零件' | 'NNS' |供应商提供许多零件。 | '。' | '。' |
-
根据How to delete a row from a 2d array in c#?和Delete row of 2D string array in C#,唯一的办法就是新建一个替换旧的。
-
如果您只需要从 inner 数组中动态删除元素,那么也许可以考虑使用 List(T)[] (如果您确实需要修改外部数组,那么可以使用一个列表(列表(T)))