【发布时间】:2015-07-13 06:57:21
【问题描述】:
我目前正在努力创建字典。我想创建它,以便它可以在多种情况下使用。但是,这些情况因键和值类型而异。所以虽然你通常这样做:
Dictionary<int, string> Something = new Dictionary<int, string>();
我想做这样的事情:
Dictionary<variable1, variable2> ..............
variable1 是什么并不重要。它可以是一个字符串,存储 'string' 或 'int' 作为值。我还可以使用 variable1.getType() 来确定类型。无论哪种方式都对我有用。但是我上面做的方式,嗯,那是不正确的。必须有另一种方法来根据变量设置键和值类型...对吗?
我脑子里突然冒出一些东西,使用 if 来检查类型是什么,并根据类型使字典使用该类型。但是随着类型的数量,它将会有很多 if's,我觉得必须有更好的方法。
搜索对我帮助不大。好吧,我学到了一些其他的东西,但没有解决我的问题。在每种情况下,字典 TKey 和 TValue 都是手动设置的。虽然我想设置它们,但使用我从某个来源获取的变量。
【问题讨论】:
-
我想这已经回答了Here
-
为键创建一个类,并将所需的所有字段存储在键类中。时间
-
为什么要这样做?我认为你有一个XY问题。见meta.stackexchange.com/a/66378/144156
-
@Enigmativity 为什么我想这样做?我正在尝试创建一个包含索引(键)和行数据(类)的字典。现在这些索引属于不同的类型。大多数是整数,如 ID。但在某些情况下,键是字符串。现在我试图从数据库中取出多个表,应用程序正在读取结构,现在应用程序根据他收到的信息创建所有内容。这样我就不必写出所有内容,或者在发生更改时,我必须更改数据库和应用程序。
-
@Verkade89 - 听起来你需要
Dictionary<object, row-data>(不管row-data实际上是什么)。
标签: c# dictionary