我想创建一个将在方法之间传递的数据列表,但是我不能使用结构,因为将包含在该列表中的数据将根据输入而变化。
例如
if (x == 1) {
a = 1
b = true
c = 42
d = "hello"
}
if (x == 2) {
a = 2
b = 'g'
c = "sup"
}
我相信我的选择是:
- 创建一个数组或字符串列表,并将数据转换回原来的字符串。这很困惑,可能会导致无法解释的输入错误,但不会那么糟糕,因为它会在运行时检测到。
- 为每种可能性创建一个结构 - 这是否是好的做法?
- 以某种方式使用泛型。据我所知,虽然泛型是类型安全的但不是类型严格的,它们必须在使用前转换为类型。例如,如果我在这里想要一个项目列表,我需要将它们转换为字符串,就像解决方案 1 一样,这样就没用了。
那么我的问题是,这些选项中哪一个是最好的?或者是否有使用某种我不知道的通用类型的替代选项?每种情况下可能变量的数量可能会发生变化,就像它们的类型一样。我希望能够将单个 List 或 Array 返回给调用方法,以便它可以适本地处理结果。它将知道如何根据 a 的值处理每组数据,因为它将是“ Action 选择”标识符。我也知道每次将它们转换为对象并返回是非常密集的,所以我宁愿避免这种情况。
这可能很简单,但它让我难住了......
最佳答案
关于c# - 不同类型的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1389440/