Jon*_*eet 150
好吧,首先List<T>
确实有FindAll
和ConvertAll
方法 - 但更惯用,现代的方法是使用LINQ:
// Find all the people older than 30
var query1 = list.Where(person => person.Age > 30);
// Find each person's name
var query2 = list.Select(person => person.Name);
Run Code Online (Sandbox Code Playgroud)
您需要在文件中使用using指令才能使其工作:
using System.Linq;
Run Code Online (Sandbox Code Playgroud)
请注意,这些不使用字符串来表示谓词和项目 - 它们使用委托,通常是从上面的lambda表达式创建的.
如果lambda表达式和LINQ对你来说是新的,我建议你先得到一本关于LINQ的书,比如LINQ in Action,Pro LINQ,C#4 in Nutshell或我自己的C#in Depth.您当然可以从网络教程中学习LINQ,但我认为这是一项非常重要的技术,值得花些时间彻底学习它.
你也可以试试
var query = from p in list
where p.Age > 18
select p;
Run Code Online (Sandbox Code Playgroud)
尝试这个:
using System.Data.Linq;
var result = from i in list
where i.age > 45
select i;
Run Code Online (Sandbox Code Playgroud)
使用 lambda 表达式请使用以下语句:
var result = list.where(i => i.age > 45);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
356582 次 |
最近记录: |