在 C# 1 中。您没有委托排序或比较选项。您可能会被迫通过创建另一种实现 IComparer 的类型来对 ArrayList 中的集合进行排序。但从 c# 2 开始。您可以使用委托进行比较。看下面的例子。
List<Product> products = Product.GetSampleProducts();
products.sort(delegate(Product p1, Product p2) {return p1.Name.CompareTo(p2.Name);});
我可以看到
1)委托(匿名方法)如何让生活变得轻松
2)代码如何变得可读以及它如何帮助我在不创建另一种类型的情况下进行比较。
我的问题是 - 如果我们想在我的应用程序的多个区域中使用这种比较怎么办?你不觉得这会迫使我一次又一次地写同样的“匿名方法”吗?你不认为这违背了面向对象的可重用性吗?