- 什么是反向链接?反向链接是什么?
- $_SERVER参数
- Node.js安装成功了,但在cmd中找不到node
- float类型转换
- 核销单是什么
- 网站制作中文本框和按钮对齐
- C# 将数据导出到Execl汇总 .
- 单用户商城和多用户商城是什么
- 蜘蛛SEO:牵着百度爬,让百度来更新自己的站!
- php中in array函数
邮箱:
手机:15383239821
List<>的常用方法
List<>的Find方法
泛型集合List<T>中的Find函数用于查找集合中符合指定条件的元素..相比foreach遍历元素,用Find函数查找,代码更简洁.
函数原型如下:
public T Find(Predicate<T> match);
其中Predicate为C#定义好的委托,原型如下:
public delegate bool Predicate<in T>(T obj);
所以,List.Find函数的参数,就是一个 返回值为bool,入参为T类型的函数。当然,可以是命名函数也可以是匿名函数或Lambda表达式.。
使用方法如下:
//定义一个Person类
class Person
{
public string Name { get; set; }
public int Age { get; set; }
public string Gender { get; set; }
}
class Program
{
//定义一个Predicate类型的委托变量
private static Predicate<Person> pre = new Predicate<Person>(MyPredicate);
private static bool MyPredicate(Person p)
{
bool result = false;
if (p.Name == "张三")
result = true;
return result;
}
static void Main(string[] args)
{
try
{
List<Person> lstPerson = new List<Person>()
{
new Person { Name = "张三", Age = 10, Gender = "M" },
new Person { Name = "李四", Age = 11, Gender = "M" },
new Person { Name = "王五", Age = 12, Gender = "M" },
new Person { Name = "赵六", Age = 13, Gender = "M" },
new Person { Name = "张三", Age = 33, Gender = "F" }
};
Person p1 = lstPerson.Find(pre);//1、命名函数
Person p2 = lstPerson.Find(delegate (Person s) { return s.Name.Equals("王五"); });//2、匿名函数
Person p3 = lstPerson.Find(s => { return s.Name.Equals("赵六"); });//3、Lambda表达式
Person p4 = lstPerson.Find(s => s.Name.Equals("赵六"));//4、Lambda表达式的简洁写法
Console.WriteLine($"姓名:{p1.Name},年龄:{p1.Age}性别:{p1.Gender}");
Console.WriteLine($"姓名:{p2.Name},年龄:{p2.Age}性别:{p2.Gender}");
Console.WriteLine($"姓名:{p3.Name},年龄:{p3.Age}性别:{p3.Gender}");
}
catch (Exception ea)
{
Console.WriteLine($"异常:{ea.Message}");
}
Console.ReadKey();
}
}
总结:
List<T>.Find 返回的是符合条件的一个元素.若没有,则返回T类型的默认值
List<T>.FindLast 返回符合条件最后一个元素.若没有,则返回T类型的默认值
List<T>.FindAll 返回符合条件的元素集合,即List<T>的子集.
List<T>.FindIndex 返回符合条件的第一个元素的下标.下标从0开始.. 若没有,则返回-1
List<T>.FindLastIndex 返回符合条件的最后一个元素的下标.下标从0开始.. 若没有,则返回-1
- 上一篇:Dictionary
字典的用法 - 下一篇:collection 集合
-
2023-09-09微擎是干嘛用的?
-
2010-07-20搜索引擎优化的步骤和环节
-
2025-11-29多语言网站制作怎么做?翻译、布局与SEO要点解析
-
2023-04-29VMware虚拟机安装Windows Server 2008 R2
-
2013-10-30网站标题,关键词和描述的写作标准
-
2012-06-30SEO基础细节:nofollow的介绍与应用
