2017-09-12 21 views
0

array.sort関数を使って配列をソートしましたが、この関数は新しい配列を返しませんでしたが、古いものに影響しました。ソート関数を元の配列に限定する方法

元の配列を維持するために、私は一種だけで影響を受けた新しい配列と、元の両方として機能てmanualy新しい配列を作成しますが、

Dim newardata = ardata 
array.sort(newardata) 

私は、感謝

あなたが上がらない
+1

[お問い合わせ]を読んで[ツアー]をご覧ください。次に、[値の種類と参照の種類](https://docs.microsoft.com/en-us/dotnet/visual-basic/programming-guide/language-features/data-types/value-types-and-reference-タイプ) – Plutonix

+0

はい、効率的なインプレースソートです。新しいコレクションを作成するには、Linq [OrderBy()拡張メソッド](https://stackoverflow.com/questions/910762/whats-the-syntax-for-orderby-in-vb-nets-linq)を参照してください。 –

答えて

0

をその元の配列を維持するために何をすべきかあなたのコードに新しい配列を作成していません。試してくださいcloning the array

Dim newardata = ardata.Clone() 
array.sort(newardata) 

また、OrderByを試すこともできます。

+0

ありがとう、その仕事 –

+0

@エコセットアワンこれは答えとしてマークすることができます;) –

関連する問題