Foo
8 ~ 16 バイトの構造体があるとします。別の構造体へのすべての値への静的メソッドがAdd()
あり、パフォーマンスが最も重要です。以下のような多くの静的メソッドを見てきました。
public static Foo Add(Foo fooA, Foo fooB)
{
var newVar = fooA.Var + fooB.Var
return new Foo(newVar);
}
引数を参照するだけで高速化できることを測定しました:
public static Foo Add(ref Foo fooA, ref Foo fooB)
{
var newVar = fooA.Var + fooB.Var;
return new Foo(newVar);
}
けっこうだ。しかし、新しいインスタンスを作成せずに最初の引数を変更すると混乱するでしょうか?
public static void Add(ref Foo fooA, ref Foo fooB)
{
fooA.Var += fooB.Var;
}
質問をうまく表現できていませんが、理解していただければ幸いです。
編集:または、おそらく、このようなものが必要な場合、メソッドは最初から静的であってはなりません。それは正しい主張ですか?