首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

dotnet 警惕 ConcurrentDictionary 使用 FirstOrDefault 获取到非预期的首项

本文记录在 ConcurrentDictionary 使用 FirstOrDefault 获取到非预期的首项的问题 在 dotnet 里面,无论是对 List 列表,还是 Dictionary 字典等获取首项...,使用 FirstOrDefault 总是可以获取到第一个加入到集合或字典里面的元素。...在 ConcurrentDictionary 里面如果使用 FirstOrDefault 方法,则随机获取到字典里面的一项,但对相同的一个 ConcurrentDictionary 对象多次调用 FirstOrDefault...时判断获取到的元素是否首个加入字典的元素 运行代码可以看到,使用 FirstOrDefault 获取到的元素,不是第一个加入字典的元素。...,字典里面存放的顺序和传入的 Key 对象的 Hash 有关,调用 FirstOrDefault 方法时获取到的是里面的 Table 字典的按照内存空间顺序的首项 由此原理即可知道,使用 FirstOrDefault

18910
领券