我有一个对象,其中包含许多字符串类型的属性,其名称由文本和数字组成,例如YYYY-MM-DD HH:MM:SS
,Property1
,Property3
...等。
我想获取一个值不为null的属性的排序列表(OrderByDescending)。
这意味着在第一位置的属性应该是名称部分的数字(不是值)最高的属性。
例如: 如果列表包含具有以下属性的对象:
(属性名称:值)
这应该是我需要的排序列表:
这是我尝试过的方法,但是不起作用:
Property12
请您能帮助我实现它吗?
谢谢!
答案 0 :(得分:0)
这是我解决问题的方式:
创建一个方法public int GetNumberFromName(string name){...},然后我可以使用该方法对对象列表进行如下排序:.OrderByDescending(p => GetNumberFromName(p.Name));
感谢您的帮助!
答案 1 :(得分:-1)
您可以在Where子句之后尝试orderby:
var objectType= typeof(Type);
var result = objectType.GetProperties()
.Where(p => p.Name.Contains("Property") && p.GetValue(triangleView) != null)
.OrderBy(c => c.Name);