| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦   
共有 643 人关注过本帖
标题:不该出现的集合访问失误
收藏  订阅  推荐  打印
本主题由 静夜思 于 2008-6-22 15:36 鉴定为原创并加为精华
ykqiang
Rank: 1
等级:新手上路
帖子:9
积分:236
注册:2007-9-21
不该出现的集合访问失误

前天编写一段Excel导入程序时,发生了一个小小遗憾,写出来供朋友借鉴:
为了验证数据合法性,我将字段的合法数据依次加入一个集合,然后遍历每个待验证的值,用集合的Contain方法验证。
不幸的是,对于明明是合法的值,验证总是通不过,真急人啊。
    为了查清原因,我又检查集合中的元素与待验证的值的类型,类型也是一致的,再比较相等,发现也是相等的,那为什么Contain方法总是通不过呢?在MSDN总查集合类的用法,也仅显示BooleanValue=Object.Contain(key)样式的用法。心想,这就怪了,简单的比较,怎么就不行呢?
    再仔细阅读发现,集合的Contain方法,是键值的比较,必须在将元素加入集合时同时指定键值,即使用这样的方法:
    Object.Contain(Value,Key)
比较是“健值”的比较,为了便于直接比较,可以用值来作键值的方法。
如要检查合法的性别,在将“男”和“女”这两个合法值加入时必须使用:
    Object.Add("男","男")
    Object.Add("女","女")
之后,就可以用Contain方法比较值"男"、"女"在不在集合SEX中了。
2008-6-14 12:11
共有 642 人关注过本帖
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.046409 second(s), 10 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved