こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

C#で、引数にクラスの配列の参照パラメータを渡したい

C#始めて3日目ですが、そろそろ挫折しそうです。

以下のクラス

class Test{
int num;

public Test(){ num = 0 };
~Test(){};

public void set(int n){
num = n;
}
public int get(){
return num;
}
}

があり、

void kakikae(Te [] t){
for(int i =0; i < 10; i++){
t[i].set(i);
}
}

Test [] test = new Test[10] = {
new Test,
new Test,
new Test,
new Test,
new Test,
new Test,
new Test,
new Test,
new Test,
new Test
};

kakikae(test);

とした時に、test[0]からtest[9]まで 1,2,3,4,5,6,7,8,9
の値が入っている事がしたいのです。
要は、クラスの配列のポインタを渡して、相手側の関数で書き方内容が、関数から戻った時も値渡しでなく
参照渡しのように値が変わって戻ってきて欲しいです。

配列の仕組み、クラスの仕組み、パラメータの仕組みが
分からず、ここから進みません。

1から勉強できるC#の参考書も探しています。

投稿日時 - 2006-03-14 23:53:55

QNo.2029538

暇なときに回答ください

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

ほぼそのままで良いです。
----------------------------------------------------------------
using System;

class Test{
int num;

public Test(){ num = 0; }
~Test(){}

public void set(int n){
num = n;
}
public int get(){
return num;
}
}

class Sample {
static void kakikae(Test [] t){
for(int i =0; i < 10; i++){
t[i].set(i);
}
}
static void Main() {
Test [] test = {
new Test(),
new Test(),
new Test(),
new Test(),
new Test(),
new Test(),
new Test(),
new Test(),
new Test(),
new Test()
};

kakikae(test);

foreach(Test aTest in test)
Console.WriteLine(aTest.get());
}

}

投稿日時 - 2006-03-15 02:22:43

お礼

うまくいきました。

ありがとうございました。

投稿日時 - 2006-03-15 16:00:05

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)