如何在C#中的char数组中查找字符的索引

时间:2019-02-21 17:54:01

标签: c# .net

我想在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}");

3 个答案:

答案 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');