質問

キー/値ペアのコレクションを扱う

は、その追加()メソッドを使用して直接

を割り当てるとの間の差があります

は例えば、HtmlGenericControlは、コレクションの属性があります

var anchor = new HtmlGenericControl("a");

// These both work:
anchor.Attributes.Add("class", "xyz");
anchor.Attributes["class"] = "xyz";

これは純粋に好みの問題です、または1つまたは他のを行う理由?

があります
役に立ちましたか?

解決

彼らは、この実行している、この場合には、ご使用のために同等です

anchor.Attributes["class"] = "xyz";

実際には内部的にこれを呼び出します。

anchor.Attributes.Add("class", "xyz");

には、このようなAttributeCollectionセッターのルックスをthis[string key]ます:

public string this[string key]
{
  get { }
  set { this.Add(key, value); }
}

そうはAttributeCollection の場合には、を質問に答えるために、それは好みの問題です。覚えておいて、これは、例えばDictionary<T, TValue>のために、他のコレクション型には当てはまりません。この場合、["class"] = "xyz".Add("class", "xyz")は(それが既に"class"エントリを持っていた場合)、重複入力エラーをスローしていました値を、更新または設定します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top