Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net IList(Of T).排序帮助_Vb.net_Generics_Ilist - Fatal编程技术网

Vb.net IList(Of T).排序帮助

Vb.net IList(Of T).排序帮助,vb.net,generics,ilist,Vb.net,Generics,Ilist,我的问题是如何对多个属性进行排序?我想先按Make.Make_English排序,然后按Model.MODL_English排序 我如何实现这一点 谢谢, ~ck如果不需要就地排序,可以使用OrderBy功能: Dim classCodeDetails As List(Of ClassCodeDetail) = db.ClassCodeHeaders.Single(Function(cch) cch.CLCH_ID = classCodeHeaderId

我的问题是如何对多个属性进行排序?我想先按
Make.Make_English
排序,然后按
Model.MODL_English
排序

我如何实现这一点

谢谢,

~ck

如果不需要就地排序,可以使用
OrderBy
功能:

Dim classCodeDetails As List(Of ClassCodeDetail) =     
    db.ClassCodeHeaders.Single(Function(cch)
        cch.CLCH_ID = classCodeHeaderId
    ).ClassCodeDetails.ToList()

classCodeDetails.Sort(Function(c1, c2)  
    c1.Make.MAKE_English.CompareTo(c2.Make.MAKE_English)
)
你的例子是:

Dim sortedList = list.OrderBy(Function(x) x.Prop1).ThenBy(Function(x) x.Prop2)

事实上,这是正确的方法(似乎您正在使用LINQ to SQL),因为它将在生成的SQL语句中使用
ORDER BY
对数据进行排序,而不是在客户机上手动对其进行排序。

如果您使用所使用的语言进行标记,则总是有助于获得良好的答复。
Dim classCodeDetails As List(Of ClassCodeDetail) = _
   db.ClassCodeHeaders.Single(Function(cch) cch.CLCH_ID = classCodeHeaderId).ClassCodeDetails _
  .OrderBy(Function(c1) c1.Make.MAKE_English) _
  .ThenBy(Function(c1) c1.Make.MODL_English) _
  .ToList()