使用LINQ在拆分后获取字符串数组的索引

Wil*_* Jr 2 c# linq lambda

我试图得到我的分裂字符串的第三个索引.但我无法使用LINQ获得确切的值.我想获得第三个索引值,即"CC":

string strInput = @"AA BB CC DD EE";
var xRes = strInput.Split(' ').Skip(1).Take(1).Select(c => c).ToArray();
Run Code Online (Sandbox Code Playgroud)

最后一行能够获得确切的第三个数组.但我无法将其转换为字符串.如果我这样做:

var xRes = strInput.Split(' ').Skip(2).Take(1).Select(c => c[0].ToString()).ToString();
Run Code Online (Sandbox Code Playgroud)

我得到了这个:

System.Linq.Enumerable + WhereSelectEnumerableIterator`2 [System.String,System.String]

Niy*_*wan 8

怎么样

string strInput = @"AA BB CC DD EE";
var xRes = strInput.Split(' ')[2];
Run Code Online (Sandbox Code Playgroud)

您不需要使用LINQ来执行此操作.

如果你坚持使用LINQ,你可以使用它ElementAt.

var xRes = strInput.Split(' ').ElementAt(2);
Run Code Online (Sandbox Code Playgroud)

或者Skip接着是First

var xRes = strInput.Split(' ').Skip(2).First();
Run Code Online (Sandbox Code Playgroud)

  • 或者`strInput.Split('').Where((item,index)=> index == 2).First();`在上下文中肯定是*overhoot*,但是如果你想在两个值上都有条件的话很有帮助和索引. (2认同)