• ベストアンサー

.NET Framework(VC++)のクラスで、intの配列をソートするメソッドありますか?

.NET Frameworkのクラスで、intの配列をソートするものは存在しますか? ちなみにVC++になります。 唯一ソート機能があると見られるArray.Sortは、Arrayに文字列しか登録できず、数字を純粋に扱えるものがマニュアルに見当たりません。 もし、ご存知の方、お教えいただけますと幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

# 質問文中に開発環境や実行環境の情報ももりこみましょう .NET Framework 1.1(1.0)ならば int _tmain() {   int src[] = { 20, 5, 2, 18, 15 };   Int32 ar[] = __gc new Int32[sizeof( src ) / sizeof( src[0]) ];   Console::WriteLine( "Before Sort" );   for( int n = 0; n < ar->Length; n++ ) {     ar[n] = src[n];     Console::Write( n.ToString()->PadRight(2) );     Console::WriteLine( ar[n] );   }   Array::Sort( ar );   Console::WriteLine( "After Sort" );   for( int n = 0; n < ar->Length; n++ ) {     Console::Write( n.ToString()->PadRight(2) );     Console::WriteLine( ar[n] );   }   return 0; } といった具合でいいのでは ... # VC.NET2003 or VC2005(/clr:oldSyntax) にて確認

noname#86052
質問者

お礼

ご解答誠に有難うございました。 ご指摘感謝いたします。 仰るとおり、環境の違いはコーディング上、致命的な違いがありますね。 以後、気をつけます。 Int32型を使えば、Arrayが使用できるのですね! Int32を自分で試した限り、__gcの使い方が間違っていたためエラーになり、使えないものと勝手に結論つけておりました。 ちゃんとした文法をお教えくださり本当に助かりました。 VC++はマニュアルに載っていない使い方がたくさんあるみたいですね。 注意しながら使いたいと思います。

その他の回答 (1)

回答No.1

普通にArray.Sortが使えますが。 お試し。 using namespace System; int main(void) { array<int>^ arr = gcnew array<int>(3); arr[0] = 2; arr[1] = 5; arr[2] = 3; Array::Sort(arr); for (int i = 0; i < arr->Length; ++i){ Console::WriteLine("{0} = {1}", i, arr[i]); } return 0; } 結果 0 = 2 1 = 3 2 = 5

参考URL:
http://msdn.microsoft.com/ja-jp/library/kwx6zbd4(VS.80).aspx
noname#86052
質問者

お礼

ご解答有難うございます! 残念ながら、VC2005より古い環境ですので、ご提示くださったgcnewなどが使えないみたいです…(涙) とても参考になりました。

関連するQ&A