VB.NET中不该出现的集合访问失误
2011-06-01 14:40 我要评论()
字号:T|T
前天编写一段Excel导入程序时,发生了一个小小遗憾,写出来供朋友借鉴:
为了验证数据合法性,我将字段的合法数据依次加入一个集合,然后遍历每个待验证的值,用集合的Contain方法验证。
不幸的是,对于明明是合法的值,验证总是通不过,真急人啊。
为了查清原因,我又检查集合中的元素与待验证的值的类型,类型也是一致的,再比较相等,发现也是相等的,那为什么Contain方法总是通不过呢?在MSDN总查集合类的用法,也仅显示BooleanValue=Object.Contain(key)样式的用法。心想,这就怪了,简单的比较,怎么就不行呢?
再仔细阅读发现,集合的Contain方法,是键值的比较,必须在将元素加入集合时同时指定键值,即使用这样的方法:
Object.Contain(Value,Key)
比较是“健值”的比较,为了便于直接比较,可以用值来作键值的方法。
如要检查合法的性别,在将“男”和“女”这两个合法值加入时必须使用:
Object.Add("男","男")
Object.Add("女","女")
之后,就可以用Contain方法比较值"男"、"女"在不在集合SEX中了。
相关报道:
本类最新
本类最热
科技视界
要闻推荐
今日视点
热点专题
新闻图片
- 新闻排行
- 评测排行