C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 109 を表示中)
■64638 / )  Re[5]: 冗長コードの改善について
□投稿者/ howling (145回)-(2012/12/12(Wed) 16:41:02)
No64635 (れお さん) に返信
とりあえずdelegateの書き方として…

delegate double f(double[] Validate); //doubleの配列型の引数1個を持ち、戻り値がdouble型である関数をfという型として定義している。

//この型の一例として、サンプル

double calc_1(double[] dParams)
{
double dReturn = 0.0;

//配列内の全ての値を加算する
foreach(double param in dParams)
{
dReturn += param;
}
return dReturn;
}

f hoge = calc_1; //そうすると、これができる

//これができると、これもできる
double[] test = new double[] { 0.1, 0.2, 0.3 };
hoge(test);

/////////////////////////////////////////////////

これの配列バージョンをpang2さんが書いてくれている。
なお、2次元配列としている理由は、
calc1なんちゃらと、calc2なんちゃらは別の部類の物だとして、区分けしてくれているため。

…と思われます。

いずれにしても、delegateはちょっと難しいので、色々読みあさるといいかもしれません。
C++の関数ポインタに似ていますが、使い方はこれだけじゃないので…。
返信 編集キー/


管理者用

- Child Tree -