![](/img/trans.png)
[英]Comparing objects from two instances of a Class and storing result in List<class>
[英]Storing Class Instances In A Hashtable
我有Foo课。 Foo具有公共字符串x的属性。
我想将Foo实例化为一次和两次,然后分别使用键1和2将这些实例添加到Hashtable Bar中。 如何获取特定实例的字符串x。
我尝试过类似的操作:Bar [1] .x,但是无法识别属性x。
我究竟做错了什么?
您应该使用Dictionary<int, Foo>
而不是Hashtable
。 在没有泛型的日子里, Hashtable
是一个过时的类。 它将键和值存储为object
类型。 另一方面, Dictionary<TKey,TValue>
是强类型的泛型集合。
如果出于某种原因(例如C#1.0)要使用Hashtable
,则必须强制转换对象:
((Foo)Bar[1]).x
您可能需要在oyu从哈希表中检索后进行投射。 试试:string s =(myHashtable [myKey] as Foo).x;
啊! 刚刚看到Mehrdad Afshari的回答,正确地指出了这一点
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.