检查存在然后插入SortedList的快速方法

mj_*_*mj_ 9 c# performance sortedlist

每当我想插入一个SortedList,我检查项目是否存在,然后我插入.这两次执行相同的搜索吗?一旦看到该项目是否存在并再次找到插入项目的位置?有没有办法优化它来加快速度,或者只是这样做的方式,没有必要改变?

if( sortedList.ContainsKey( foo ) == false ){
    sortedList.Add( foo, 0 );
}
Run Code Online (Sandbox Code Playgroud)

Pet*_*ter 6

您可以将项添加到HashSet和List,在哈希集中搜索是查看是否必须将值添加到列表的最快方法.

if( hashSet.Contains( foo ) == false ){
    sortedList.Add( foo, 0 );  
    hashSet.Add(foo);
}
Run Code Online (Sandbox Code Playgroud)

  • 为什么在这种情况下甚至保持`SortedList`?首先使用`Dictionary'或`SortedDictionary`. (2认同)