{{indexmenu_n>13}}
====== array ======
arrayはcliが提供する配列です。以下の機能があります。
* 配列の要素数を知ることができます。
* 可変長の引数をarrayで受け取れます。
* for eachが使えます。
int型のarrayを要素数4で作る場合は以下のようにします。
array^ a = gcnew array(4);
array^ b = gcnew array(4) {1,2,3,4};
array^ c = gcnew array{1,2,3,4};
arrayは常にハンドルを用いて利用しなければなりません。またarrayの型にref classを用いることはできず、ref classのハンドルを用いなければなりません。
array
arrayの要素数を知るには、Lengthを使います。
array^ c = gcnew array{1,2,3,4};
int len = c->Length;
for eachを以下のようにして使えます。
array^ c = gcnew array{1,2,3,4};
for each(int i in c)
{
System::Console::WriteLine(i);
}
これは以下と同じです。
array^ c = gcnew array{1,2,3,4};
for ( int i=0 ; i < c->Length; ++i )
{
System::Console::WriteLine(c[i]);
}
2次元arrayは以下のように作ります。
array^ a2 = gcnew array(4,4);
array^ b2 = gcnew array{ {1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4} };
System::Arrayのメソッドでarrayを色々する。
#include "stdafx.h"
using namespace System;
void printout(int i)
{
Console::WriteLine(i);
}
int conv(int i)
{
return i*2;
}
bool pred(int i)
{
return i==4;
}
int main(array ^args)
{
array^ ia = gcnew array{1,2,3,4,5};
Array::Reverse(ia);
Array::Sort(ia);
Array::ForEach(ia, gcnew Action(printout));
array^ ia2 = Array::ConvertAll(ia, gcnew Converter(conv));
Array::ForEach(ia2, gcnew Action(printout));
int i4 = Array::Find(ia2, gcnew Predicate(pred));
return 0;
}