除了我的选择之外,获取数组中的所有项目

时间:2016-03-01 13:57:11

标签: c# arrays

我试图制作能够识别不同命令的机器人。例如,一个命令将是" add 'x text' ",作为TODO列表。我已经通过将输入拆分为数组,然后获取array[0]或者第一个始终是命令的单词来设置对命令的识别。现在,我想以某种方式保存除了关键字(AKA [0])之外被拆分的句子中的其他项目,意思是[1] [2] [3]等。获取所有项目的一种方法是什么[0]一个?我试图通过执行以下操作跳过它:myarray.Skip(x),但我无法使其正常工作。谢谢你的所有建议!

1 个答案:

答案 0 :(得分:2)

正如@ L-Three建议的那样,您可以使用string.Join(" ", myarray.Skip(1).ToArray())来获取字符串的其余部分而不使用第一个字。

myarray.Skip(x)的示例无法正常工作,因为Skip(x)是Linq函数,因此它是deferred execution操作。这意味着您刚刚描述了您需要做的事情,但行动尚未执行。致电' .ToArray()',' .ToList()'例如(正如L-Three在他的解决方案中使用的那样)将执行该动作。

重要的是要注意,还有其他方法可以实现您想要的(例如使用正则表达式 - 正如评论中已经建议的那样),这可能比您现在使用的方法更安全。