ここでは、オーバーライドが正しい用語ではない場合があります。 System.Mathクラスのいくつかの関数を拡張して、double配列を処理したいと考えています。クラスの多くの関数をC#で一度にオーバーライドする
私が現在やっていることです:数学(約20)コス、ラウンド、でわずか交換罪で多くの機能については
public double[] Sin(double[] d)
{
double[] result = new double[d.Length];
for(int i=0;i<result.Length;i++)
result[i] = Math.Sin(d[i]);
}
...
は作るための方法はありますこれはよりエレガントですか?私はユーザーが実行時に式を評価できるようにするために何かを構築しています。 ユーザは、d倍配列とすべての関数に対して "Cos(d)"を書くことができる必要があります。そのため、入力側のソリューションは本当にオプションではありません。
本当に感謝すべて
なぜ車輪を改造するのですか? 'double [] result = d.Select(Math.Sin).ToArray();' –
私は誰かがそれを行うことができるのか知らなかった。それは物事をはるかに短くします。ありがとう。 – AsaridBeck91