如何使用linq检索第一个不以"-"
开头的元素?
var arr = new[] {"-s1", "-s2", "va", "-s3", "va2", "va3"};
var allElementsAfterVA = from a in arr where ???? select a;
我希望allElementsAfterVA
为"-s3", "va2", "va3"
答案 0 :(得分:16)
要找到第一个不以“ - ”开头的所有参数,你可以这样做:
var elementsAfterFirstNonDash = arr.SkipWhile(i => i[0] != '-').Skip(1);
找到“va”,然后通过Skip(1)跳过它。其余的参数将被返回。
答案 1 :(得分:0)
答案 2 :(得分:0)
我不太明白你的文字中的问题,但看看这个例子:你看过SkipWhile()了吗?似乎相关/有用吗?
答案 3 :(得分:0)
arr.Where((n, i) => i > 0 && n.StartsWith("-"))
产量
-s2 -s3
这是你的意思吗?