verificação nulo desnecessária no KeyedCollection .Contains (TKey)
Pergunta
Apenas encontrou um cheque nulo desnecessária no KeyedCollection.Contains (TKey).
Apreciar é apenas uma pequena otimização, mas não deve pensei que este tipo de ineficiência ser pego por uma ferramenta de análise de código automatizado?
Aqui está o C # gerado pelo reflector:
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;
}
Além disso, qual é a melhor forma de enviar em um patch? ;-) Através dos fóruns .net ou / p>
Solução
Este provavelmente será otimizado pelo JIT qualquer maneira, então você realmente não precisa se preocupar com isso. De qualquer forma, o custo de um cheque nulo está perto de zero.
Para relatar um erro, você pode usar o site do Microsoft Connect. Mas eu não acho que eles vão corrigi-lo ...
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow