私の質問は本当に簡単です。 私はクラスの20.000点を作成する必要があります。インスタンス化されたクラスの中にメソッドを入れるのがメモリの面で最善かどうか、あるいは呼び出し元のクラスにメソッドを1つしか持たない方がよい私が計算する必要がある単一のクラスのプロパティ。私が意味する.net c#クラスのメモリ割り当て
は、メモリの観点から、それが最善です:
シナリオA)
public class b
{
public string name;
public string result;
}
public class a
{
public string myMethod(string name)
{
//do complex things... long method...
}
//create 20.000 istances of class b
//and when I need it... I take one of them and do something like...
myclassB.result=myMethod(myclassB.name)
}
ORシナリオB)
public class b
{
private string name;
private string result;
private string myMethod()
{
//do complex things... long method...
result="something";
}
}
public class a
{
//create 20.000 istances of class b
//and when I need it... I take one of them and do something like...
myclassB.myMethod();
}
私は20.000 istancesを作成するとき、私は、意味しますその内部にメソッドを持つクラスは、 "メモリにメソッドを20.000回"複製しますか?それとも、それを作成し、それを自分自身で処理するのだろうか?
いいえ、メソッド自体はオブジェクトの状態の一部ではありません。フィールドだけが関連します。 –
Jonが言ったように、もう一つ考慮すべきことは、メソッドが長くて複雑な場合は、おそらくいくつかのプライベートメソッドとして、あるいはそれ自身のクラスのいくつかのメソッドとして実装されるべきであるということです。 –
ありがとうございました!あなたは私に数時間の再コーディングを保存しました:-) – BitQuestions