1
KeyedCollection.Contains(TKey)で不要なnullチェックが見つかりました。KeyedCollectionの不要なnullチェック<TKey, TItem> .Contains(TKey)
これは非常に小さな最適化だと思っていますが、この種の非効率性は自動化されたコード解析ツールでは認識されません。ここで
が反射によって生成されたC#です:
public bool Contains(TKey key)
{
if (key == null)
{
ThrowHelper.ThrowArgumentNullException(ExceptionArgument.key);
}
if (this.dict != null)
{
return this.dict.ContainsKey(key);
}
if (key != null) // Not needed as key cannot be null
{
foreach (TItem local in base.Items)
{
if (this.comparer.Equals(this.GetKeyForItem(local), key))
{
return true;
}
}
}
return false;
}
また、パッチに送信する最良の方法は何ですか? ;-) .net forumsまたは?
また、現代的なCPU上で信じられないほどよくうまく予測される分岐になるだろう、実際には実際には、 – ShuggyCoUk
JITされているのであれば、コード解析ツールもそれを拾うべきではないでしょうか? – si618
はい、おそらく...あなたのポイントは何ですか? –