【发布时间】:2011-09-04 06:07:35
【问题描述】:
也许这听起来很奇怪,但经过长时间的编程,我才开始学习数组排序。一切都如我所料,直到我尝试对包含两个相同字符串的字符串数组进行排序。让我们看看:
假设有以下内容:
string[] testArray = new string[]
{
"aa",
"ab",
"ac",
"ad",
"ab",
"af"
};
Array.Sort(testArray, StringComparer.InvariantCulture);
在这种情况下,我得到一个空值数组。我知道这种行为是因为数组中的值不是不同的值。对此有更好的解释吗?如何对非不同数组进行排序?
【问题讨论】:
-
“我知道这种行为是因为数组中的值不是不同的值” - 不太可能。
-
你确定你真的用提供的代码得到空值吗?我只是测试它,它工作正常
-
请花一些时间来验证问题确实是由发布的代码引起的。
-
我很抱歉!我昨天做了几个测试,似乎该行为是由于数组中的非不同值造成的。我再次重新测试了一切,它工作正常。错误可能在其他地方。谢谢耐心!另一个问题:什么时候排序方法可以给出包含空值的数组?谢谢