Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 删除数组中除某些元素之外的所有元素_C#_Arrays_List - Fatal编程技术网

C# 删除数组中除某些元素之外的所有元素

C# 删除数组中除某些元素之外的所有元素,c#,arrays,list,C#,Arrays,List,所以我有一个数组(string[]),我有一个数组,数组中有我想要保留的行数,有没有一种特殊的方法让它除去这些行以外的所有行,或者把它们复制到一个空数组中 这是带有行号的数组 for (int i = 0; i < dumpFile.Length; i++) { if (dumpFile[i].StartsWith(@" ""videoId"":")) {

所以我有一个数组(string[]),我有一个数组,数组中有我想要保留的行数,有没有一种特殊的方法让它除去这些行以外的所有行,或者把它们复制到一个空数组中

这是带有行号的数组

            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添加了一些代码,希望对您有所帮助