从数组列表中删除数组
本文关键字:数组 删除 列表 | 更新日期: 2023-09-27 17:58:36
我有一个xml文件,想从中删除任何行。出于这个原因,我将 xml 文件的每一行分配给一个列表:
List<string[]> lines = new List<string[]>();
List<string> clmns = new List<string>();//each row is written to clmns
...
lines.Add(clmns.ToArray());
如您所料,lines
列表将像
{ "1", "2", ... },
{ "4", "5", ... },
...
假设我想删除包含"5"的行(行中的数组(。我该怎么做?
我想我可以使用 lines.RemoveAt(1)
删除数组。但是,我找不到找到保存搜索字符串的数组索引的方法。
你非常接近。数组只是一个对象,因此以下内容将起作用:
lines.Remove(lines.First(a => a.Contains("5")));
这将获取集合中第一个带有"5"的数组,并将数组对象返回到Remove
然后删除它。
要删除所有这些:
lines.RemoveAll(a => a.Contains("5"));
List.FindIndex方法可以在这里为您提供帮助。
int index = lines.FindIndex(x=> x.Contains("5"));
if(index >= 0)
{
lines.RemoveAt(index);
}
您需要循环到数组列表并手动将其删除。假设您只想删除第一个"5"。
foreach(var line in lines)
{
if(line.Contains("5"))
{
lines.Remove(line);
break;
}
}