문제

방금 KeyEdCollection.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 포럼 또는 ?

도움이 되었습니까?

해결책

이것은 어쨌든 JIT에 의해 최적화 될 것이므로 걱정할 필요는 없습니다. 어쨌든, 널 점검 비용은 0에 가깝습니다.

버그를보고하려면 Microsoft Connect 웹 사이트를 사용할 수 있습니다. 하지만 나는 그들이 고칠 것이라고 생각하지 않습니다 ...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top