当前位置: 首页 > 编程语言 > C#

List如何按double值排序?分享

时间:2023-04-10 22:17:45 C#

List如何按double值排序?这听起来很简单,但并没有那么多。我想根据T的一个属性来排序一个List,它是一个double类型。如果您在编译前知道属性名称:myList=myList.OrderBy(a=>a.propertyName).ToList();或myList=(fromminmyListorderbym.propertyName).ToList();如果在编译时没有属性(例如网格中的动态排序等);试试这个扩展方法:staticclassOrderByExtender{publicstaticIOrderedEnumerableOrderBy(这个IEnumerable集合,字符串键,字符串方向){如果(方向.ToUpper()==“ASC”)返回collection.OrderBy((Func)sortLambda.Compile());否则返回collection.OrderByDescending((Func)sortLambda.Compile());}publicstaticIOrderedEnumerableThenBy(thisIOrderedEnumerablecollection,stringkey,stringdirection){LambdaExpressionsortLambda=BuildLambda(key);如果(direction.ToUpper()=="ASC")返回collection.ThenBy((Func)sortLambda.Compile());否则返回collection.ThenByDescending((Func)sortLambda.Compile());}privatestaticLambdaExpressionBuildLambda(stringkey){ParameterExpressionTParameterExpression=Expression.Parameter(类型(T),“p”);LambdaExpressionsortLambda=Expression.Lambda(Expression.Convert(Expression.Property(TParameterExpression,key),typeof(object)),TParameterExpression);返回sortLambda;}}那么顺序就好了myList=myList.OrderBy("propertyName","ASC").ToList();varlist=(fromtinlistorderbyt.doubleVal).ToList();我认为这可以解决问题:Listlist=newList();//在这里填写列表list.OrderBy(item=>item.DoubleTypeProperty).ToList();HTH以上就是C#学习教程:HowtosortListbydoublevalue?分享的所有内容,如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如有转载请注明出处: