C# 删除数组中除某些元素之外的所有元素
所以我有一个数组(string[]),我有一个数组,数组中有我想要保留的行数,有没有一种特殊的方法让它除去这些行以外的所有行,或者把它们复制到一个空数组中 这是带有行号的数组C# 删除数组中除某些元素之外的所有元素,c#,arrays,list,C#,Arrays,List,所以我有一个数组(string[]),我有一个数组,数组中有我想要保留的行数,有没有一种特殊的方法让它除去这些行以外的所有行,或者把它们复制到一个空数组中 这是带有行号的数组 for (int i = 0; i < dumpFile.Length; i++) { if (dumpFile[i].StartsWith(@" ""videoId"":")) {
for (int i = 0; i < dumpFile.Length; i++)
{
if (dumpFile[i].StartsWith(@" ""videoId"":"))
{
arrayIndex.Add(i);
string stringI = i.ToString() + "\r\n";
System.IO.File.AppendAllText("lines.txt", stringI);
}
}
for(int i=0;i
使用Linq:
要在数组中只保留某些元素,可以使用以下代码。请随意指定您的条件以代替line.StartsWith()
。您还可以像使用单个语句而不是循环一样将这些内容保存到文件中
string[] selected = dumpFile.Where(line => line.StartsWith(@" ""videoId"":")).ToArray();
// Now saving these lines to a file in a single line instead of using a loop
System.IO.File.AppendAllLines("lines.txt", selected);
使用Linq: 要在数组中只保留某些元素,可以使用以下代码。请随意指定您的条件以代替
line.StartsWith()
。您还可以像使用单个语句而不是循环一样将这些内容保存到文件中
string[] selected = dumpFile.Where(line => line.StartsWith(@" ""videoId"":")).ToArray();
// Now saving these lines to a file in a single line instead of using a loop
System.IO.File.AppendAllLines("lines.txt", selected);
你的意思是说你有一个数组,其中包含例如,1,3,4,6,这意味着你希望删除索引2和5处的字符串?你可以使用
Select
和Where
方法来实现你想要的,或者使用非LINQ方法,自己填充一个新数组。还有什么我不能说的,除非你展示一些代码和更好的描述,说明你如何决定要保留哪些行。@Stuart是的,这是我所拥有的数组格式,但编号的行是我想要的keep@Abion47添加了一些代码,希望这有助于您的意思是您有一个数组,其中包含,1,3,4,6表示您希望删除索引2和索引5处的字符串?您可以使用选择和Where
方法来实现您想要的,或者使用非LINQ并自己填充一个新数组。还有什么我不能说的,除非你展示一些代码和更好的描述,说明你如何决定要保留哪些行。@Stuart是的,这是我所拥有的数组格式,但编号的行是我想要的keep@Abion47添加了一些代码,希望对您有所帮助