DataRow[] drTest 包含System.Data.DataRow,比如说,包含 10 个DataRow。在每个 DataRow 内部,我有一个包含Name和的 ItemArray Count。现在我想根据 ItemArray 第二个记录计数按降序对 DataRow[] drTest 进行排序。
例子:
DataRow[] drTest contains
At [0] Index - ItemArray[0] - "A"
- ItemArray[1] - 5
At [1] Index - ItemArray[0] - "B"
- ItemArray[1] - 7
Run Code Online (Sandbox Code Playgroud)
我想按降序对 drTest 进行排序,以便 drTest[1] 应该出现。
玩 LINQ 的一个好方法是使用LINQPad。这是我为回答您的问题而编写和测试的快速示例:
var table = new DataTable();
table.Columns.Add("Name", typeof(string));
table.Columns.Add("Count", typeof(int));
table.Rows.Add("A", 5);
table.Rows.Add("B", 7);
table.Rows.Add("C", 1);
table.Rows.Add("D", 8);
table.Rows.Add("E", 9);
table.Rows.Add("F", 6);
table.Rows.Add("G", 3);
table.Rows.Add("H", 2);
table.Rows.Add("I", 4);
var sorted = table.Rows.Cast<DataRow>()
.OrderByDescending(row => row[1]);
// If you are using LINQPad you can test this using the following line:
sorted.Dump();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17179 次 |
| 最近记录: |