[英]Custom sorting LINQ C#
我有對象列表。 我正在嘗試使用其中一個屬性對其進行排序。
我正在嘗試以下內容:
items.OrderBy(x => x.Name).ToList()
items 可以包含 Name 的值,如下所示:
case 1 - abc,xyz,byc,myu
case 2 - abc3,xur2,iuy7
如果任何值包含 int(數字),我想按降序對列表進行排序。 所以在情況 2 中,我想按降序排序。 在第 1 種情況下,排序將按升序排列。 問題是如何識別列表是否包含任何整數? 這樣我就可以決定順序了。
public class TestClass
{
public string ID { get; set; }
public string Name { get; set; }
public string Address { get; set; }
}
您可以使用Any
和char.IsDigit
來確定是否有一個:
if(items.Any(x => x.Name.Any(char.IsDigit)))
{
// descending
items = items.OrderByDescending(x => x.Name)).ToList()
}
else
{
// ascending
items = items.OrderBy(x => x.Name)).ToList()
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.