В 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) как код становится читабельным и как он помог мне выполнить сравнение без создания другого типа.
Мой вопрос: что, если мы хотим использовать это сравнение в нескольких областях в моем приложении? ты не думаешь, что это заставит меня снова и снова писать один и тот же «Анонимный метод»?
Вы не думаете, что это против ООП повторного использования?