0
这是我的代码如何使用C#动态地基于列表创建变量?
Public List<string> Values{get;set;}
在上面的列表中包含多个值。例如[“10”,“20”,“30”]。我想用c#.net中的列表值(a =“10”,b =“20”,c =“30”)创建三个变量。如果列表计数为零不需要创建变量。
这是我的代码如何使用C#动态地基于列表创建变量?
Public List<string> Values{get;set;}
在上面的列表中包含多个值。例如[“10”,“20”,“30”]。我想用c#.net中的列表值(a =“10”,b =“20”,c =“30”)创建三个变量。如果列表计数为零不需要创建变量。
我希望这会帮助你。
if (Values.Count != 0){
Dictionary<string, string> dictionary =
new Dictionary<string, string>();
char key = 'a';
for (i = 0; i < Values.Count; i++){
dictionary.Add(key, Values[i]);
key = (key == 'z'? 'a': (char)(input + 1));
}
}
您可以尝试使用ExpandoObject
:
using System.Dynamic;
...
List<string> Values = new List<string>() {
"10", "20", "30"
};
...
dynamic variables = new ExpandoObject();
for (int i = 0; i < Values.Count; ++i)
(variables as IDictionary<String, Object>).Add(
((char) ('a' + i)).ToString(),
Values[i]);
...
// 10
Console.Write(variables.a);
你需要考虑你的设计。为什么你需要为每个值创建变量(只是好奇)? –
这与MVC有什么关系?最重要的是......如果没有上下文,变量在这里没有多少意义。我们是在谈论JS变量还是将私有成员添加到方法内的类或局部变量? – Leo
是的,我也认为相同@HariPrasad .. –