| ■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++の関数ポインタに似ていますが、使い方はこれだけじゃないので…。
|
|