奇妙に聞こえるかもしれませんが、長いプログラミングの後に、配列の並べ替えを始めました。内部に2つの同一の文字列を含む文字列の配列を並べ替えようとするまで、すべてが期待どおりでした。どれどれ:
次のものがあるとします。
string[] testArray = new string[]
{
"aa",
"ab",
"ac",
"ad",
"ab",
"af"
};
Array.Sort(testArray, StringComparer.InvariantCulture);
この状況では、null値のプレーンプレーンを取得します。この動作は、配列内の値が個別の値ではないためだとわかりました。これについてより良い説明はありますか?異なる配列を並べ替えるにはどうすればよいですか?
このコードスニペットは正常に動作しています
番号に問題がある場合(たとえば、1、2、10、12は1、10、12、2にソートされます)、 [〜#〜] linq [〜#〜] を使用できます。
var arr = arr.OrderBy(x=>x).ToArray();
実際、nullは表示されません。
与えられた:
static void Main()
{
string[] testArray = new string[]
{
"aa",
"ab",
"ac",
"ad",
"ab",
"af"
};
Array.Sort(testArray, StringComparer.InvariantCulture);
Array.ForEach(testArray, x => Console.WriteLine(x));
}
私が得ました: