Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.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_String - Fatal编程技术网

C# 当字符串数组中的文本';你不知道?

C# 当字符串数组中的文本';你不知道?,c#,arrays,string,C#,Arrays,String,如果我知道元素是什么,我知道如何从数组中删除它们 此数组中的“客户端”是用户输入的字符串。我想删除前两个单词,但我不知道它们是什么。它总是不同的 string[] words = Receipt.Split(' ',',','-'); 谢谢。如果您总是想删除前两个,LINQ可能提供了最简单的方法: string[] words = Receipt.Split(' ',',','-').Skip(2).ToArray(); string allButFirstTwoWords = words.

如果我知道元素是什么,我知道如何从数组中删除它们

此数组中的“客户端”是用户输入的字符串。我想删除前两个单词,但我不知道它们是什么。它总是不同的

string[] words = Receipt.Split(' ',',','-');
谢谢。

如果您总是想删除前两个,LINQ可能提供了最简单的方法:

string[] words = Receipt.Split(' ',',','-').Skip(2).ToArray();
string allButFirstTwoWords = words.Skip(2).ToArray(); // Or ToList, or nothing...
请注意,不能从数组本身“删除”值,因为数组在创建后始终具有固定大小。上面的代码创建了一个包含除前两个单词以外的所有单词的新数组

当然,您可以一次完成这一切:

string[] words = Receipt.Split(' ', ',', '-').Skip(2).ToArray();
就我个人而言,我通常使用
列表
,因为它更灵活:

List<string> words = Receipt.Split(' ', ',', '-').Skip(2).ToList();
List words=receive.Split(''','','-').Skip(2.ToList();
如果只是对其进行迭代,则根本不需要将其转换为数组或列表:

IEnumerable<string> words = Receipt.Split(' ', ',', '-').Skip(2);
IEnumerable words=receive.Split(''','','-')。Skip(2);

谢谢您的详细回答