0

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

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

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

谢谢。

4

2 回答 2

4
string[] words = Receipt.Split(' ',',','-').Skip(2).ToArray();
于 2012-11-17T19:56:27.930 回答
3

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

string allButFirstTwoWords = words.Skip(2).ToArray(); // Or ToList, or nothing...

请注意,您不能从数组本身“删除”值,因为数组在创建后始终具有固定大小。上面的代码创建了一个数组,除了前两个单词之外的所有单词。

当然,您可以一次完成所有操作:

string[] words = Receipt.Split(' ', ',', '-').Skip(2).ToArray();

就我个人而言,我通常会使用 a List<string>,因为它更灵活:

List<string> words = Receipt.Split(' ', ',', '-').Skip(2).ToList();

如果您只是要对其进行迭代,则根本不需要将其转换为数组或列表:

IEnumerable<string> words = Receipt.Split(' ', ',', '-').Skip(2);
于 2012-11-17T19:56:44.203 回答