如何使用 LINQ 对多列数据表进行排序

use*_*850 5 c# linq sorting datatable

我有一个包含 n 列的数据表。我想通过 LINQ 对数据表中的 n 列进行排序,但我不知道该怎么做。我对 1 列进行了成功排序,但对多列进行了排序

前任:

Dictionary<string, string> dict = Dictionary<string, string>
dict.Add("column_1", "asc");
dict.Add("column_2", "asc");
dict.Add("column_3", "asc");
...
dict.Add("column_n", "asc");
var Rows = from row in datatable.AsEnumerable()
           orderby n1 acsending  (I need loop to add all columns in Dictionary here to sort multi columns)
           select row 
Run Code Online (Sandbox Code Playgroud)

如何循环 n 列以添加 orderby 运算符。

我的问题是用户有一个包含要排序的列名称的数组,我需要循环一个数组以在运算符 orderby 中添加列名称以对多列进行排序

PS:我的英语不好。对不起

谢谢阮

小智 3

datatable.AsEnumerable().OrderBy(c => c[0]).ThenBy(c => c[1]);
Run Code Online (Sandbox Code Playgroud)

这将按第一列和第二列对行进行排序