代码之家  ›  专栏  ›  技术社区  ›  si618

keyedcollection<tkey,titem>中不必要的空签入。包含(tkey)

  •  1
  • si618  · 技术社区  · 15 年前

    刚刚在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 forums 还是?

    1 回复  |  直到 15 年前
        1
  •  2
  •   Thomas Levesque    15 年前

    这可能是由JIT优化的,所以你不必担心。不管怎样,空支票的成本接近于零。

    要报告错误,可以使用Microsoft Connect网站。但我不认为他们会解决…

    推荐文章