為了驗證數據合法性,我將字段的合法數據依次加入一個集合,然後遍歷每個待驗證的值,用集合的Contain方法驗證。
不幸的是,對於明明是合法的值,驗證總是通不過,真急人啊。
為了查清原因,我又檢查集合中的元素與待驗證的值的類型,類型也是一致的,再比較相等,發現也是相等的,那為什麼Contain方法總是通不過呢?在MSDN總查集合類的用法,也僅顯示BooleanValue=Object.Contain(key)樣式的用法。心想,這就怪了,簡單的比較,怎麼就不行呢?
再仔細閱讀發現,集合的Contain方法,是鍵值的比較,必須在將元素加入集合時同時指定鍵值,即使用這樣的方法:
Object.Contain(Value,Key)
比較是“健值”的比較,為了便於直接比較,可以用值來作鍵值的方法。
如要檢查合法的性別,在將“男”和“女”這兩個合法值加入時必須使用:
Object.Add("男","男")
Object.Add("女","女")
之後,就可以用Contain方法比較值"男"、"女"在不在集合SEX中了。