我想在char Array中找到一个字符的索引。我写了下面的代码,但我想要
使用一些library function/ LINQ
来查找索引,而不是手动循环
通过这。有smarter way/ concise way
我可以实现吗?
尝试:
var index = -1;
char[] x = { 'A', 'B', 'C', 'D' , 'E'};
for(int t = 0; t< x.Length; t++)
{
if (x[t] == 'E')
index = t;
}
Console.WriteLine($"Index is: {index}");
答案 0 :(得分:6)
在此示例中,您可以使用Array.IndexOf。
char[] x = { 'A', 'B', 'C', 'D', 'E' };
Console.WriteLine($"Index is: {Array.IndexOf(x, 'E')}");
答案 1 :(得分:2)
这是使用LINQ的:
char[] x = { 'A', 'B', 'C', 'D', 'E' };
var index = x.Select((c, i) => new {c, i}).SingleOrDefault(c => c.Equals('D')).i
具有数组类:
var index = Array.FindIndex(x, c=> c.Equals('E'));
答案 2 :(得分:1)
使用System.Linq FindIndex
char[] x = { 'A', 'B', 'C', 'D' , 'E'};
int index = x.ToList().FindIndex(c => c == 'E');