C#で配列のソートをする方法としてArray.Sortがある.
ただし,引数に与えた配列は順番が破壊されてしまう.
通常は,以下のようにするが,これだと元のtestは書き換えられる.
            Int32[] test = new Int32[5];
            
            for (int i = 0; i < test.Length; i++)
            {
                test[i] = test.Length - i;
            }
            Array.Sort(test);
もとの配列の中でのインデックスを記録しておきたい場合,test1にインデックスを記録しておき,Array.Sortに二つ配列を渡してやると,test1はソート前の配列での順番を表すことになる.
            Int32[] test1 = new Int32[5];
            Int32[] test2 = new Int32[5];
            
            Random rand = new Random(100);
            for (int i = 0; i < test1.Length; i++)
            {
                test1[i] = i;
                test2[i] = rand.Next();
            }
            Array.Sort(test2, test1);
 
        