C#对列表中的多个数字进行排序。按第二个字符串排序

时间:2018-04-25 21:11:55

标签: c#

我正在尝试列出一些事情并试图这样做

        var l = new List<string[]>() {
                            new string[] { "10945730333", "5"},
                            new string[] { "298543022", "234"},
                            new string[] { "382958320", "35"},
                            };
        var result = l.OrderBy(f => f[1]).ToList();
        MessageBox.Show($"{result}");

我想要它,所以它将第二个数字从最低到最高排序。这样234就在底部。当我使用它时,它会出现&#34; System.Collections.Generic.List`1 [System.String []]&#34;

1 个答案:

答案 0 :(得分:0)

首先,您的排序不正确,您应该将string解析为int,否则您将执行不符合您要求的字符串比较。

 var result = l.OrderBy(f => int.Parse(f[1])).ToList();

然后你可以得到如下结果:

MessageBox.Show(string.Join("\n",result.SelectMany(e => e)));