📜  如何在统一 5 中获取列表中元素的索引 - C# (1)

📅  最后修改于: 2023-12-03 15:09:03.568000             🧑  作者: Mango

如何在统一 5 中获取列表中元素的索引 - C#

在C#中,要获取列表中元素的索引,可以使用List的IndexOf方法。但是,在统一 5 中,由于List的实现不再是通用的,不能直接使用该方法。那么该怎么办呢?

下面将介绍在统一 5 中获取列表中元素索引的几种方法。

方法一:使用FindIndex方法

FindIndex是统一 5 中List类中的一个方法,该方法接受一个Predicate委托作为参数,该委托用于确定元素匹配的条件,并返回第一个匹配元素的索引。如果找不到匹配的元素,则返回-1。

下面是示例代码:

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main(string[] args)
    {
        var list = new List<int> { 1, 2, 3, 4, 5 };

        var index1 = list.FindIndex(x => x == 3);
        var index2 = list.FindIndex(x => x == 6);

        Console.WriteLine("Index of 3: {0}", index1);
        Console.WriteLine("Index of 6: {0}", index2);
    }
}

上述代码中,我们使用FindIndex方法查找列表中的元素3和6的索引,并输出结果。结果如下:

Index of 3: 2
Index of 6: -1
方法二:使用IndexOf方法

虽然在统一 5 中List类的实现不再是通用的,但仍然可以使用IndexOf方法。但是,在统一 5 中,List类不再提供这个方法,需要使用System.Linq命名空间中的扩展方法来实现。

下面是示例代码:

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main(string[] args)
    {
        var list = new List<int> { 1, 2, 3, 4, 5 };

        var index1 = list.IndexOf(3);
        var index2 = list.IndexOf(6);

        Console.WriteLine("Index of 3: {0}", index1);
        Console.WriteLine("Index of 6: {0}", index2);
    }
}

上述代码中,我们使用System.Linq命名空间中的扩展方法IndexOf查找列表中的元素3和6的索引,并输出结果。结果如下:

Index of 3: 2
Index of 6: -1
方法三:使用Find方法

Find方法也是统一 5 中List类中的一个方法,该方法接受一个Predicate委托作为参数,该委托用于确定元素匹配的条件,并返回第一个匹配元素,如果找不到匹配的元素,则返回null。

下面是示例代码:

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main(string[] args)
    {
        var list = new List<int> { 1, 2, 3, 4, 5 };

        var item1 = list.Find(x => x == 3);
        var item2 = list.Find(x => x == 6);
        var index1 = list.IndexOf(item1);
        var index2 = list.IndexOf(item2);

        Console.WriteLine("Index of 3: {0}", index1);
        Console.WriteLine("Index of 6: {0}", index2);
    }
}

上述代码中,我们使用Find方法查找列表中的元素3和6,并使用IndexOf方法获取它们的索引,并输出结果。结果如下:

Index of 3: 2
Index of 6: -1
总结

在统一 5 中,要获取列表中的元素索引,可以使用List中的FindIndex、Find方法,以及System.Linq命名空间中的扩展方法IndexOf。这些方法都提供了很好的灵活性和易用性,可以根据具体情况选择使用。