📅  最后修改于: 2023-12-03 15:27:51.003000             🧑  作者: Mango
在C#中,我们经常会遇到需要查找某个元素在数组中的位置的情况。一种常用的方法就是使用IndexOf()方法来查找元素在数组中的索引。但是,有些情况下,我们需要查找的元素并不是一个简单的类型,例如自定义的类等。这时,IndexOf()方法就无法正常工作了。那么,怎样获取没有IndexOf()的数组元素的索引呢?下面我们来介绍一种方法。
我们可以使用Array.FindIndex()方法来查找元素在数组中的索引。该方法需要两个参数,第一个参数是要搜索的数组,第二个参数是一个委托,用于定义搜索条件。该委托的参数是数组中的每一个元素,返回值是一个bool类型来表示是否满足搜索条件。如果满足了条件,该方法会返回元素在数组中的索引,如果没有找到,则返回-1。
下面是使用Array.FindIndex()方法查找数组中某个元素的索引的示例:
class Program
{
static void Main(string[] args)
{
//定义一个字符串数组
string[] array = { "apple", "banana", "orange", "pineapple", "grape" };
//查找数组中长度为6的元素的索引
int index = Array.FindIndex(array, element => element.Length == 6);
//输出结果
Console.WriteLine("长度为6的元素的索引为:" + index);
Console.ReadKey();
}
}
运行结果:
长度为6的元素的索引为:0
上面的代码中,我们定义了一个字符串数组array
,然后使用Array.FindIndex()方法查找该数组中长度为6的元素的索引。在委托中,我们使用了lambda表达式来定义搜索条件,即长度为6。最后将查找到的索引输出。
以上就是使用Array.FindIndex()方法来获取没有IndexOf()的数组元素的索引的方法。在实际编程的过程中,我们应该根据实际情况来选择合适的方法来处理数组中的元素。