C#List<>能按照List中的对象某个属性排序 淩亂°似流年 2022-08-11 07:30 134阅读 0赞 # c\# LC\#List<>能按照List中的对象某个属性排序ist 能按照List # # # # 用List泛型存储了自定义的结构体,现需要根据结构体的一个成员进行排序。在论坛看到了类似的示例,并参照成功解决了问题,在此备注下,希望能帮到更多的人。 # # public class Book \{ public Book(string inname, string inauthor, string inpublisher, int inprice) \{ this.Name = inname; this.Author = inauthor; this.Publisher = inpublisher; this.Price = inprice; \} private string name; public string Name \{ get \{ return name; \} set \{ name = value; \} \} private string author; public string Author \{ get \{ return author; \} set \{ author = value; \} \} private string publisher; public string Publisher \{ get \{ return publisher; \} set \{ publisher = value; \} \} private int price; public int Price \{ get \{ return price; \} set \{ price = value; \} \} \} //比较器类 public class Icp:IComparer<Book> \{ //按书名排序 public int Compare(Book x, Book y) \{ return x.Name.CompareTo(y.Name); \} \} public class IcpPrice : IComparer<Book> \{ //按价格排序 public int Compare(Book x, Book y) \{ return x.Price.CompareTo(y.Price); \} \} //main方法 static void Main(string\[\] args) \{ List<Book> list = new List<Book>(); Book b1, b2, b3, b4; b1 = new Book("《绝代双骄》", "古龙", "中国长安出版社", 50); b2 = new Book("《鹿鼎记》", "金庸", "人民文学出版社", 120); b3 = new Book("《三国演义》", "罗贯中", "中州古籍出版社", 200); b4 = new Book("《西游记》", "吴承恩", "晨光出版社", 80); list.Add(b1); list.Add(b2); list.Add(b3); list.Add(b4); //按书名升序 Console.WriteLine("/按书名升序/"); list.Sort(new Icp()); foreach(Book book in list) \{ Console.WriteLine(book.Name+book.Author+book.Publisher+book.Price); \} Console.WriteLine(""); //按价格降序序 Console.WriteLine("/按书名升序/"); list.Sort(new IcpPrice()); foreach (Book book in list) \{ Console.WriteLine(book.Name + book.Author + book.Publisher + book.Price); \} Console.WriteLine(""); Console.Read(); \}能CdsaC\#List<>能按照List中的对象某个属性排序dgbnhbfjhsa \#List<>能按照List中的对象某个属性排序按照List中的对象某个属性排序吗 # 中的对象某个C\#List<>能按照List中的对象某个属性排序属性排序吗
还没有评论,来说两句吧...