我有一个数组的名单,我想用这些名字将它们分配给新的名单像波纹管:如何使用数组的项目,如名字等变量C#
var list = new string[]{"bot1","bot2","bot3"};
List<string> list[0] = new List<string>();
但我得到错误:在这个范围内已经定义了一个名为'list'的局部变量或函数。
是否有解决方法!!? 您的意见将不胜感激。
我有一个数组的名单,我想用这些名字将它们分配给新的名单像波纹管:如何使用数组的项目,如名字等变量C#
var list = new string[]{"bot1","bot2","bot3"};
List<string> list[0] = new List<string>();
但我得到错误:在这个范围内已经定义了一个名为'list'的局部变量或函数。
是否有解决方法!!? 您的意见将不胜感激。
我想你可以存储你的机器人在词典:
var bots = new Dictionary<string,List<string>>();
bots[name] = new List<string>();
bots[name].Add("some str");
谢谢你,这个窍门 –
@Mehrdad_gh,不用客气,你也可能想改变某种类型的价值结构 – gabba
是的,我正在使用一个类的列表,但无法找出你的解决方案,它有帮助很大程度上,再次感谢 –
如果你只需要一个整数的关键不是你也可以使用此解决方案。
List<List<string>> list = new List<List<string>>();
list.Add(new List<string>{ {"A"} });
list[0][0] = "..";
请考虑添加更多详细信息,以解释其工作原理和原因。 –
@Wolfram Wisser,当我们需要通过索引访问机器人时,您的解决方案很好,但是当我们刚刚命名时,我们必须扫描整个列表才能访问。 O(n)复杂性。字典给O(1)访问的复杂性。 – gabba
您不能将多个变量定义为相同的名称。只需将第二个变量改为其他名称,如'name'。 –
[创建动态变量名称](http://stackoverflow.com/questions/20857773/create-dynamic-variable-name)可能的重复 – Usman
@JohnOdom你的意思,而不是列表[0],我应该使用名称(或随你) !!? –