【问题标题】:How to Create Variables Dynamically Based on List using C#?如何使用 C# 基于列表动态创建变量?
【发布时间】:2016-08-17 07:27:55
【问题描述】:

这是我的代码

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

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

【问题讨论】:

  • 您需要考虑您的设计。为什么需要为每个值创建变量(只是好奇)?
  • 这和 MVC 有什么关系?最重要的是......如果没有上下文,变量在这里并没有说太多?我们是在谈论 JS 变量还是在类中添加私有成员或在方法中添加局部变量?
  • 是的,我也这么认为@HariPrasad..
  • 你可以做一些复杂的代码来定义say az 并分配给a-> 任何相关的东西,然后检查你使用了什么和没有使用什么......但是你为什么需要这样做呢?跨度>
  • 字典 ?

标签: c# generic-list


【解决方案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);

【讨论】:

    【解决方案2】:

    希望对你有帮助。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-02-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-12
      • 2021-04-19
      • 1970-01-01
      • 2015-09-08
      相关资源
      最近更新 更多