使用变量c#创建名称列表

时间:2016-02-02 14:54:32

标签: c#

C#中是否可以创建一个列表并从变量或类似名称中命名?

我们说我有一个包含10行的列表:

  

a,b,c,d,e,f,g,h,i,j

我可以从此列表中创建10个列表,每个列表都有一个名称,如行之一吗?

这样的东西
List<string> myList = new List<string>();
foreach (var line in myList)
{
    List<string> line = new List<string>();
}

我想要的是制作一些用于存储数据的列表,但在程序运行之前我不知道名称,因此需要动态生成这些名称。

3 个答案:

答案 0 :(得分:6)

听起来你想要Dictionary List<string> s:

Dictionary<string, List<string>> dict = new Dictionary<string, List<string>>();

foreach (var line in myList)
{
    dict.Add(line, new List<string>());
}

现在,您可以根据我们用于密钥的原始字符串访问每个列表:

List<string> aList = dict["a"];

答案 1 :(得分:3)

您可以尝试这样的事情:

var newList = new Dictionary<string, List<string>>();
foreach (var line in myList)
{
  newList.Add(line, new List<string>());
}

这将为您提供存储新数据的数据结构,并允许您根据第一个列表中的名称引用它们。

答案 2 :(得分:1)

您似乎想要Dictionary<String, List<String>>这样:

  var data = myList
    .ToDictionary(line => line, line => new List<string>());

所以你可以

检查“变量”是否存在

  if (data.ContainsKey("z")) {...} 

地址“变量”

  data["a"].Add("some value");

添加“变量”

  data.Add("z", new List<string>());