Сортировка коллекции по параметру - C#
Формулировка задачи:
Как произвести сортировку коллекции с несколькими значениями, к примеру в алфавитном порядке авторов, т.е. в данном случае по параметру "name".
using System;
using System.Collections.Generic;
namespace ProjectOne {
public class Book
{
public string Name { get; set; }
public string Title { get; set; }
public Book (string name, string title)
{
Name = name;
Title = title;
}
public virtual void Print ()
{
Console.WriteLine (Name+" "+Title);
}
}
class Addition : Book
{
private string year { get; set; }
private string publisher { get; set; }
private string cost { get; set; }
private string quant { get; set; }
public Addition(string year, string publisher, string cost, string quant, string name, string title)
: base (name, title)
{
this.year = year;
this.publisher = publisher;
this.cost = cost;
this.quant = quant;
}
public override void Print ()
{
base.Print ();
Console.WriteLine ("Доп.Информация: " + year+".г, "+publisher+", "+cost+".руб, "+quant+".шт. ");
}
}
public class MainClass
{
public static void Main ()
{
List <Book> books = new List <Book> ();
books.Add (new Addition ("2005","Интрейд","25","3 Корпорейшн","Достоевский","Идиот"));
books.Add (new Addition ("2015","Эксмо","191","6","Селинджер","Над пропастью во ржи"));
books.Add (new Addition ("2014","Neoclassic ","116","5","Паланик","Невидимки"));
foreach (Book book in books)
{
book.Print ();
}
//Console.WriteLine("\nSort");
//books.Sort();
//foreach (Book book in books)
//{
//book.Print ();
//}
}
}
}Решение задачи: «Сортировка коллекции по параметру»
textual
Листинг программы
books.Sort((b1,b2) => string.Compare(b1.Name, b2.Name));