【发布时间】:2013-03-30 17:00:42
【问题描述】:
如何在 C# 中对二维数组进行排序
我已经查看了这个问题的其他答案,但它们并没有完全满足我的需要。
数组是variable height * 5 across
数组保存字符串
我需要根据任一列对数组进行排序,例如按字母顺序对第三列进行排序,但是必须更新所有其他列。
有人知道快速简便的解决方案吗?
我的代码乱七八糟,这里是一个缩短的版本:
string[,] tmp = new string[2, 3];//this is filled with strings
string y = Console.ReadLine();
int x = Convert.ToInt32(y);
// sort tmp based on x column
【问题讨论】:
-
是交错数组还是多维数组?
-
@NickLarsen 它的多维,每一行总是有列填充
-
你能使用 LINQ 这对我有用吗使用 LINQ arrayName.OrderBy(item => item[0]).ToArray()。降序排序是 arrayName.OrderByDescending(item => item[0]).ToArray()。
-
您需要使用数组吗?可以重新排序 references 的排序例程可能比重新排序 values 快得多,您必须这样做才能对数组进行就地排序。
-
@DStanley 我得研究参考资料,我以前从未听说过。