【发布时间】:2012-12-23 14:17:16
【问题描述】:
我在字典类型集合上有以下循环
foreach(KeyValuePair<Vector2, Object> entry in v_map.map_set)
{
}
我想访问对象属性,但预期的语法不起作用。例如:
foreach(KeyValuePair<Vector2, Object> entry in v_map.map_set)
{
Object ob = entry.Value;
ob.property;
}
失败,因为 C# 找不到想要的属性。 那么,如何访问所需的属性?
解决方案:
foreach(KeyValuePair<Vector2, Object> entry in v_map.map_set)
{
if (entry.Value is warehouse)
{
warehouse ob = (warehouse)entry.Value;
}
}
【问题讨论】:
-
期望值是什么类型?你能让字典在值类型中通用吗?如果没有,则必须强制转换,或者如果没有包含所需属性的通用基本类型,则可以使用
dynamic。 -
该值将是一系列不同的对象。我可以预测什么类型的对象,但我需要将它们通用存储以正确维护 ke 值链接。
标签: c# loops dictionary