首页 > 代码库 > 数据更新时的Key值判断(C#)
数据更新时的Key值判断(C#)
今天在工作过程中遇到下面的小问题,在更新数据时我想检查该数据Key是否已经存在,如果不存在则直接添加,否则则根据其他状态再判断是否需要更新。
这就需要首先获取已经存在的Key的集合。可以使用以下方法实现,比如Key值为一个字符串。
- List<string> 检查方法为Contains,该方法会遍历List的中的某一个值进行比较。性能较差。
- Dictionary<string, bool> 记录键和值的相应关系, 如果只是想检查某个键值是否存在,可以使用TryGetValueObject item;if(dict.TryGetValue(name, out item) == false){return false;}return true;更准确的方法应该是使用ContainsKey该方法根据Key的Hash值(Index)从对应数组中查找是否存在该值。
- HashSet<string>如果只是想用于检查某个键是否存在,使用HashSet应该是最佳选择HashSet<int> data = http://www.mamicode.com/new HashSet
();
for (int i = 0; i < 1000000; i++)
{
data.Add(rand.Next(50000000));
}
bool contains = data.Contains(1234567); // etc
综上,最适合该问题的解决方法应该是使用HashSet。
数据更新时的Key值判断(C#)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。