有一个字典对象加载了以下键值: 119 189A 189B 189C 197 201A 201B
在大多数情况下,生活是美好的,所有个人关键值都是必需/独特的。但在某些情况下,背后带有字母的键(即...... 189a,189b,189c)都意味着相同的东西(即...... 189)。所以我需要一种方法来查看键值的第一部分是否存在键值(如containskey方法),然后返回true。 有关如何实现这一目标的任何想法?
答案 0 :(得分:1)
这样的东西?
dictionary.Keys.Any(Function(key) key.StartsWith("189"))
或者你可以使用正则表达式进行更多的粒度控制:
dictionary.Keys.Any(Function(key) Regex.IsMatch(key, "^189[^\d]?")
答案 1 :(得分:1)
由于您只有有时需要忽略后缀字母,为了获得最大效率,我建议使用额外的HashSet(T)来存储数字部分。在字典中添加/删除元素时,还要添加/删除HashSet(T)
中的数字。 HashSet(T).Contains
方法是O(1),因此检查元素是否存在将是快速的。