想象一下这种简单的情况:
int temperature = 20;
是否有可能提供动态参数名称?例如(我知道这不起作用,只是为了得到这个想法):
int Array[1].ToString() = 20;
谢谢! 干杯克里斯
答案 0 :(得分:2)
没有。不在C#中。您可以获得的最接近的是使用Dictionary<string, object>
:
var variables = new Dictionary<string, object>();
variables.Add(Array[1].ToString(), 20);
但这不仅涉及每次需要检索值时进行转换,而且还会导致装箱/拆箱。
总而言之,我当然不会推荐它。
答案 1 :(得分:2)
不确定这是否是您正在寻找的,但您可以使用C#4中的动态/ Expando对象
答案 2 :(得分:0)
试试这个
using System;
class Program
{
static void Foo(dynamic duck)
{
duck.Quack(); // Called dynamically
}
static void Foo(Guid ignored)
{
}
static void Main()
{
// Calls Foo(dynamic) statically
Foo("hello");
}
}
并点击该链接Link1