using System; using System.Collections.Generic; using System.Linq; namespace OrderBy { class Program { static void Main(string[] args) { var stockQuantities = new List<StockQuantity>() { new StockQuantity("正常品",new DateTime(2017,4,16),12 ), new StockQuantity("正常品",new DateTime(2017,4,17),15 ), new StockQuantity("残次品",new DateTime(2017,4,16),10 ), new StockQuantity("残次品",new DateTime(2017,4,17),8 ), new StockQuantity(null,new DateTime(2017,4,18),8 ), }; stockQuantities = stockQuantities.OrderBy(u => u.Status==null).ThenBy(u => u.DateTime).ThenBy(u => u.Quantity).ToList(); foreach (var stockQuantity in stockQuantities) { Console.WriteLine($"{stockQuantity.Status}-{stockQuantity.DateTime}-{stockQuantity.Quantity}"); } Console.ReadKey(); } } public class StockQuantity { public StockQuantity(string status, DateTime dateTime, int quantity) { Status = status; DateTime = dateTime; Quantity = quantity; } public string Status { get; set; } public DateTime DateTime { get; set; } public int Quantity { get; set; } } }
简单的一个排序优化,就把程序的时间复杂度从N*N降低到了N,所以在这里把这两种排序技巧分享出来,希望对不会的同学有所帮助。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
您可能感兴趣的文章: