C#将变量值添加到列表名称

C#将变量值添加到列表名称,c#,C#,在使用列表名时,是否可以将变量添加到列表名中 大概是这样的: string id = "1"; //Could be 2 List<string> List1 = new List<string> {"1","11" }; List<string> List2 = new List<string> {"2","22" }; foreach (var element in List+id) { //code here } string id=“1

在使用列表名时,是否可以将变量添加到列表名中

大概是这样的:

string id = "1"; //Could be 2
List<string> List1 = new List<string> {"1","11" };
List<string> List2 = new List<string> {"2","22" };

foreach (var element in List+id)
{ //code here }
string id=“1”//可能是2
List List1=新列表{“1”,“11”};
List List2=新列表{“2”,“22”};
foreach(列表中的var元素+id)
{//code here}
ID可以是十几个不同的值,所以我甚至没有尝试使用常规的
if()
。这是唯一的方法吗?

使用字典:

var dict = new Dictionary<string, List<string>>();
dict.Add("1", new List<string> {"1","11" });
dict.Add("2", new List<string> {"2","22" });

不,你不能这样做,你可能会创建一个字符串列表,虽然看起来你想要一个
字典)
看看C中的反射,从OP@MatthewWatson但他只是在索引。他的
id
string
类型,不
int
@matthewatson我知道这一点。但它来自于他创建变量名的想法。这是不需要的,谁知道呢?你怎么知道他不想用字符串作为ID你也许应该问问医生。
foreach (var element in dict[id])
{ 
}