码迷,mamicode.com
首页 > 其他好文 > 详细

数据更新时的Key值判断(C#)

时间:2014-09-20 14:03:07      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:style   color   io   使用   ar   for   数据   div   sp   

今天在工作过程中遇到下面的小问题,在更新数据时我想检查该数据Key是否已经存在,如果不存在则直接添加,否则则根据其他状态再判断是否需要更新。
这就需要首先获取已经存在的Key的集合。可以使用以下方法实现,比如Key值为一个字符串。
  1. List<string> 
  2. 检查方法为Contains,该方法会遍历List的中的某一个值进行比较。性能较差。
  3. Dictionary<string, bool> 
    记录键和值的相应关系, 如果只是想检查某个键值是否存在,可以使用TryGetValue
    Object item;
    if(dict.TryGetValue(name, out item) == false)
    {
        return false;
    }
    return true;
     
    更准确的方法应该是使用ContainsKey
    该方法根据Key的Hash值(Index)从对应数组中查找是否存在该值。
  4. HashSet<string>
    如果只是想用于检查某个键是否存在,使用HashSet应该是最佳选择
    HashSet<int> data = new HashSet<int>();
        for (int i = 0; i < 1000000; i++)
        {
            data.Add(rand.Next(50000000));
        }
        bool contains = data.Contains(1234567); // etc
 
综上,最适合该问题的解决方法应该是使用HashSet

数据更新时的Key值判断(C#)

标签:style   color   io   使用   ar   for   数据   div   sp   

原文地址:http://www.cnblogs.com/flytonorth/p/3982995.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!