2013-06-01 40 views
-4

我的代码:列表<String[]> .groupby /的OrderBy的LINQ

List<string[]> records=new List<string[]>(); 
..... 
.... 
#Now i has list in records 
var sortedRecords = records 
        .OrderBy(o => o[0]) 
        .ThenBy(t=>t[3]) 
        .ToList(); 
..... 

欲由[0]元件中,通过[3]元素每组排序组。我没有得到正确的输出结果。怎么了?

+2

那么你期待输出是什么,你会得到什么?没有足够的细节可以消除。 – TyCobb

+0

我编辑了它的记录,我首先声明 – Civa

+0

我想记录组由[0]元素和按每个组中的[3]元素排序 – Civa

回答

3

你可以使用GroupBy o[0]拳头,然后它会给你分组的结果。然后每个组可以通过d[3]订购商品,由于按组合排序的分组列表,您可以使用SelectMany方法将其平滑回您想要的列表中。

var sortedRecords = records 
        .GroupBy(o => o[0]) 
        .Select(g => g.OrderBy(d => d[3])) 
        .SelectMany(g=>g) 
        .ToList(); 
+0

感谢它的工作完美 – Civa

+0

@Damith你能解释一下吗? –