2016-08-17 108 views
0

这是我的代码如何使用C#动态地基于列表创建变量?

Public List<string> Values{get;set;} 

在上面的列表中包含多个值。例如[“10”,“20”,“30”]。我想用c#.net中的列表值(a =“10”,b =“20”,c =“30”)创建三个变量。如果列表计数为零不需要创建变量。

+2

你需要考虑你的设计。为什么你需要为每个值创建变量(只是好奇)? –

+0

这与MVC有什么关系?最重要的是......如果没有上下文,变量在这里没有多少意义。我们是在谈论JS变量还是将私有成员添加到方法内的类或局部变量? – Leo

+0

是的,我也认为相同@HariPrasad .. –

回答

0

我希望这会帮助你。

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)); 
    } 
} 
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);