【发布时间】:2023-03-20 20:37:01
【问题描述】:
我正在尝试使用dynamic 变量创建一个类似元组的变量,但我不知道如何。
这是我尝试使用 dynamic 变量重新创建的代码
var mustEncodeDict = new Dictionary<string, (bool doubleQ, int maxEnc)>();
mustEncodeDict.Add("test1", (true, 3));
mustEncodeDict.Add("test2", (true, 3));
mustEncodeDict.Add("test3", (true, 3));
mustEncodeDict.Add("test4", (false, 3));
mustEncodeDict.Add("test5", (true, 3));
我正在尝试使用dynamic 变量而不是元组,因为我想让代码与 C# 5 兼容,我知道这个原因听起来很傻。
感谢任何帮助。
【问题讨论】:
-
嗨 @GetRektBoy724 欢迎来到 Stack Overflow。也许看看
Tuple.Create()。这是你想要达到的目标吗? -
为什么必须使用
dynamic?为什么不是struct? -
如果你真的想使用
dynamic,也许像var mustEncodeDict = new Dictionary<string, dynamic>(); mustEncodeDict.Add("test1", new{ doubleQ = true, maxEnc = 3 }); Console.WriteLine(mustEncodeDict["test1"].doubleQ);这样的东西 -
您不能使用
dynamic创建变量。dynamic所做的只是将编译推迟到运行时,根据运行时类型而不是编译时类型解析成员名称。所以无论你的XY Problem 在这里,dynamic都不是前进的道路。 -
谢谢@Jimi,让我测试一下