[英]Sort a list of custom objects by object property numerical values in vb.net
我想按对象属性数值对自定义对象列表进行排序。
例如,我有具有属性的自定义对象MyObject
:
MyObject.A
MyObject.B
MyObject.C
其中A
是包含数字值的字符串, B
和C
是包含文本的字符串。
我想按A
属性从最小数字到最大对包含这些对象的列表进行排序。
我尝试使用此:
MyList = MyList.OrderBy(Function(i) i.A).ToList()
但这会将列表排序,就好像数字是字符串一样。
例如,我得到的结果是: 1,10,11,2,3,4
。
我真正想要的是: 1,2,3,4,10,11
如何按数值对列表进行排序?
则这不是双重属性,而是显示双重的字符串。 要么总是将此字符串转换为效率不高的double,要么将它们存储为double
并仅将它们转换为需要显示它们的字符串(推荐)。
但是,这里是Parse
方法:
MyList = MyList.OrderBy(Function(i) Double.Parse(i.A)).ToList()
如果它包含点并且您使用逗号(如注释),请使用:
MyList = MyList.OrderBy(Function(i) Double.Parse(i.A, CultureInfo.InvariantCulture)).ToList()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.