list使用linq排序
list使用linq排序List排序实例一
private static void SortByLinq()
{
List<Article> list = GetArticleList();
var sortedList =
(from a in list
orderby a.SortIndex, a.Comments
select a).ToList();
}
List排序实例二
private static void SortByExtensionMethod()
{
List<Article> list = GetArticleList();
var sortedList = list.OrderBy(a => a.SortIndex).ThenBy(a => a.Comments);
sortedList.ToList(); //这个时候会排序
}
List排序实例三
static void Main(string[] args)
{
List listCustomer = new List();
listCustomer.Add(new Customer { name = "客户1", id = 0 });
listCustomer.Add(new Customer { name = "客户2", id = 1 });
listCustomer.Add(new Customer { name = "客户3", id = 5 });
listCustomer.Add(new Customer { name = "客户4", id = 3 });
listCustomer.Add(new Customer { name = "客户5", id = 4 });
listCustomer.Add(new Customer { name = "客户6", id = 5 });
///升序
List listCustomer1 = listCustomer.OrderBy(s => s.id).ToList();
//降序
List listCustomer2 = listCustomer.OrderByDescending(s => s.id).ToList();
//Linq排序方式
List listCustomer3 = (from c in listCustomer
orderby c.id descending //ascending
select c).ToList();
}
class Customer
{
public int id { get; set; }
public string name { get; set; }
}
List排序实例四:使用orderby对整型字符串排序
static void Main()
{
OrdinalComparer comp = new OrdinalComparer();
List<string> strs = new List<string>(){"11", "12", "1:"};
foreach(string str in strs.OrderBy(n => n, comp))
Console.writeLine(str);
}
public class OrdinalComparer: System.Collections.Generic.IComparer<String>
{
public int Compare(String x, String y)
{
return string.CompareOrdinal(x, y);
}
}