C#のサンプルは沢山あるがCLIで実行できずに困ったのでここに書いておく。
下記は、要素数10のdoubleの配列aの内容を、0~9の1.5倍の値で初期化する。
using namespace System; typedef double datatype_t; ref struct mystruct{ array<datatype_t>^ m_a; public: mystruct(array<datatype_t>^ dst){ m_a = dst; } void function(int number){ m_a[ number] = number*1.5; } }; int main(array<System::String ^> ^args) { array<datatype_t>^ a = gcnew array<datatype_t>(10); mystruct^ plfor = gcnew mystruct(a); System::Threading::Tasks::Parallel::For( 0, a->Length, gcnew Action<int>(plfor, &mystruct::function) ); for(int i= 0 ;i < a->Length;i++){ System::Console::WriteLine( System::String::Format("a[{0}] = {1}",i,a[i])); } Console::ReadLine(); return 0; }