[问题] “Dictionary[变量]”的用法?

楼主: hoyunxian (WildDagger)   2014-08-13 16:09:10
一直有个搞不懂的疑问是
Dictionary到底能不能写成“Dictionary物件[变量]”
来存取Dictionary物件中“键值等于变量值”的物件
我曾经有想过把物件数据库放到几个Dictionary物件中,
然后用“Dictionary物件[参数]”的方式去把该参数对应的物件给读出来
(当然我确定Dictionary物件里面确实有以该参数值作KEY的VALUE)
例如某几个物件我给了个独一无二的ID“Z”、“UX”、“L”等,
然后用这些ID当作KEY,但实际上在巡览的时候,
我不可能知道当作参数传过来的ID(Key)其内容是什么,
所以都只能写成var a = dictionary物件[parameter]之类的样子
只是我每次这样做都会碰到C#丢ArgumentException出来,
最后的变通方法是用Linq的Where,
可是我实在不想这样搞(感觉这样很没活用到Dictionary的Key属性)
想问问正确来说到底该怎么写才对......(默
作者: sosokill (vieux)   2014-08-13 17:17:00
不太懂"键值等于变量值"的意思不过可以直接用dictionary[]的方式取得对应的value要循览的话 应该可以用foreach吧
作者: Ammenze (蓝天白云)   2014-08-13 17:44:00
dictionary.keys.contains()判断后再抓value
作者: Litfal (Litfal)   2014-08-13 22:54:00
To楼上,有bool ContainsKey(key),不需要用到Keys.Containsto原PO,用dic[TKey]取Value的话,若字典内没有该索引会掷回KeyNotFound的例外,若不确定key一定存在于字典,请用ContainsKey先检查。但我更常用bool TryGetValue(key, out value) 来同时测试与取得值。

Links booklink

Contact Us: admin [ a t ] ucptt.com