C#中的Lambda表达式可以用来简化以往需要编写一些冗长代码的情况,其中之一就是在List中找出元素的索引。下面是完整的攻略:
1. Lambda表达式
Lambda表达式的语法格式为:
(parameters) => expression OR statement block
引号中的parameters表示输入参数,箭头“=>”表示将输入参数映射为表达式或语句块的结果,表达式或语句块可以是任何有效的C#表达式或语句。表达式的结果类型可以自动推断出来。
2. List的FindIndex方法
List类中提供了FindIndex方法来查找符合条件的元素的索引。该方法的语法格式如下:
public int FindIndex(Predicate<T> match);
其中,match是一个委托类型的参数,表示用来测试每个元素是否符合条件的方法。
下面是两个示例说明:
示例1:找出list中第一个大于10的元素的索引
List<int> list = new List<int> { 1, 3, 5, 8, 10, 12, 14 };
int index = list.FindIndex(x => x > 10);
Console.WriteLine(index); // 输出:5
上述代码中,Lambda表达式“x => x > 10”表示输入一个参数x,如果x大于10,返回true,否则返回false。FindIndex方法通过调用Lambda表达式来依次测试列表中的每个元素,直到找到第一个符合条件的元素为止。
示例2:找出list中第一个姓张的人的索引
List<string> list = new List<string> { "张三", "李四", "王五", "张飞", "关羽" };
int index = list.FindIndex(x => x.StartsWith("张"));
Console.WriteLine(index); // 输出:0
上述代码中,Lambda表达式“x => x.StartsWith("张")”表示输入一个字符串x,如果x以“张”开头,返回true,否则返回false。FindIndex方法通过调用Lambda表达式来依次测试列表中的每个元素,直到找到第一个符合条件的元素为止。
结论
通过Lambda表达式和List类的FindIndex方法,我们可以方便地找出List中符合条件的元素的索引,避免了额外的循环和判断语句,提高了代码的简洁性和可读性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# lambda表达式应用如何找出元素在list中的索引 - Python技术站