【问题标题】:Use Type as a key in dictionary C# [closed]使用 Type 作为字典 C# 中的键 [关闭]
【发布时间】:2019-11-21 17:47:47
【问题描述】:

我无法在 Unity3D 游戏中创建库存。

我有几个 Food 类正在扩展一个基类。 我想把它们放在字典里

Dictionary <Types, int> inventory;

然后我想把它当作

inventory[getType(selectedObject)]

如何让它工作?

还是我做错了什么?

【问题讨论】:

标签: c# unity3d scripting


【解决方案1】:

我相信以下是您正在寻找的。首先,您的代码中有一个错字。它是Type 而不是Types

要获取对象的类型,可以使用.GetType() 方法。例如,

var obj = new List<int>();
Dictionary <Type, int> inventory = new Dictionary<Type,int>();
inventory.Add(obj.GetType(),1);

【讨论】:

  • 哇,我爱上了 stackoverflow。 3分钟回答真的很酷!!!
  • 能否告诉我,这对我来说是否是一个好的解决方案?
  • @diukqnhffvy 这取决于您的要求。例如,如果您有多个相同类的实例(Food1、Food2、Food1),那么您将无法添加两个具有相同类型的键,因为 Dictionary 不允许重复键
  • @diukqnhffvy 很高兴为您提供帮助。如果它帮助您解决问题,请将其标记为答案stackoverflow.com/help/someone-answers
猜你喜欢
  • 1970-01-01
  • 2016-05-04
  • 2018-03-30
  • 2022-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多