如何使用C#基于List动态创建变量?

时间:2016-08-17 07:27:56

标签: c# generic-list

这是我的代码

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

在上面的列表中包含多个值。例如[&#34; 10&#34;,&#34; 20&#34;,&#34; 30&#34;]。我想在c#.net中创建三个带有列表值的变量(a =&#34; 10&#34;,b =&#34; 20&#34;,c =&#34; 30&#34;)。如果列表计数为零则无需创建变量。

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分: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));
    }
}