リストまたは配列に複数の値を格納する必要があります。このようなオブジェクトの型を持つ配列を宣言し複数の異なる型を持つ値のリスト/配列
:
オプション1:これらの値は、日時などの文字列、int型、などの複数のタイプ
私は2つのオプションがあります
object[] values;
オプション2:
インターフェイスの配列を宣言し、保持する各タイプの独自のクラスを実装します。
interface IType
{
}
IType[] values;
class StringValue : IType
{
public string StringValue { get; set; } // not declared in interface!
}
class IntValue : IType
{
public int IntValue { get; set; } // not declared in interface!
}
質問:
パフォーマンスの向上および/または各実装オプションの影響は何ですか?私が知る限り(またはquessing)、object[]
を使用すると、boxinq自身のパフォーマンスに影響があります。
オプション2はどうですか?少なくとも
私は本当にのようなものを考える必要がありますobject[]
を使用してパフォーマンスに非常に大きな影響があるの...第1のタイプはIType
がSTRINGVALUEまたはIntValueなどにキャストしなければならない、決定しなければならない、StringValue
またはIntValue
プロパティは多くのコードを必要とする使用してオプション2?
パフォーマンスを気にする前に、コードを実装して書き、テストテストをテストし、パフォーマンスが問題であるかどうかを確認してから、必要に応じて最適化することができます** –
もちろんです!私はすでにオプション1を実装していました。私は知っていたので(計量されていませんでした)、いくつかの問題が生じるでしょう。たぶん質問は、オプション1よりも良いかもしれないことをもっと尋ねる方がいいでしょう。 – Harza
"より良い"を求めることは助けにはならないでしょう - あなたはどんな意味でより明確にする必要があります。 – Oded