c#对自定义列表进行排序
我有以下清单:c#对自定义列表进行排序,c#,linq,list,sorting,object,C#,Linq,List,Sorting,Object,我有以下清单: public class Address{ public string Number { get; set; } public string Street { get; set; } public string Suburb { get; set; } } List<Address> MyAddressList = new List<Address>(); 但我想先按郊区再按街道分类。 谢谢您可以通过使用ThenBy(或Then
public class Address{
public string Number { get; set; }
public string Street { get; set; }
public string Suburb { get; set; }
}
List<Address> MyAddressList = new List<Address>();
但我想先按郊区再按街道分类。
谢谢您可以通过使用ThenBy(或ThenBy Descending)呼叫链接进一步订购: 你可以用它 按升序对序列中的元素执行后续排序
如果需要,您还可以。您还可以像这样使用
比较
委托:
private int CompareAddress(Address first, Address second)
{
if (first.Suburb.Equals(second.Suburb))
{
return first.Street.CompareTo(second.Street);
}
else
{
return first.Suburb.CompareTo(second.Suburb);
}
}
然后:
List MyAddressList=new List();
MyAddressList.Sort(CompareAddress);
MyAddressList = MyAddressList.OrderBy( x => x.Suburb ).ThenBy(x => x.Street).ToList();
MyAddressList =
MyAddressList.OrderBy( x => x.Suburb ).ThenBy(x => x.Street).ToList();
private int CompareAddress(Address first, Address second)
{
if (first.Suburb.Equals(second.Suburb))
{
return first.Street.CompareTo(second.Street);
}
else
{
return first.Suburb.CompareTo(second.Suburb);
}
}
List<Address> MyAddressList = new List<Address>();
MyAddressList.Sort(CompareAddress);