观《深入理解C#》有感--- 排序搜索
关于在无序列表中,找到所需数据的五种写法
class Program
{
class Product
{
public string name;
public int price;
public override string ToString()
{
return name;
}
}
static void Main(string[] args)
{
List<Product> products = new List<Product>()
{
new Product(){name = "A", price = 5},
new Product(){name = "B", price = 10},
new Product(){name = "C", price = 15},
};
// 例子1
foreach(var product in products)
{
if(product.price >= 10)
{
Console.WriteLine(product);
}
}
// 例子2
Predicate<Product> predicate = delegate (Product p) { return p.price >= 10; };
List<Product> matches = products.FindAll(predicate);
Action<Product> print = Console.WriteLine;
matches.ForEach(print);
// 例子3
products.FindAll((p) => p.price >= 10).ForEach(Console.WriteLine);
// 例子4
foreach(Product product in products.Where(p => p.price >= 10))
{
Console.WriteLine(product);
}
// 例子5 LINQ语法
var filiered = from Product p in products
where p.price >= 10
select p;
foreach(Product product in filiered)
{
Console.WriteLine(product);
}
}
}
本文作者:陈侠云
本文链接:https://www.cnblogs.com/chenxiayun/p/18293984
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步