我对C#真的很新,所以请原谅我的草率代码
public Kid(string name, int age, string location)
{
this.age = age;
this.name = name;
this.location = location;
}
NAL = Console.ReadLine().Split(',');
Console.WriteLine("Name-{0} Age-{1} Location-{2}", NAL);
string name = "Kid" + NAL[0];
Kid [name] = new Kid(NAL[0], Int32.Parse(NAL[1]), NAL[2]);
我需要^这个工作,但我不明白任何类型可以有人帮助向我解释
答案 0 :(得分:2)
所有你需要改变的是" Kid"集合。
Dictionary<string, Kid> Kids = new Dictionary<string, Kid>();
Kids[name] = new Kid(NAL[0], Int32.Parse(NAL[1]), NAL[2]);
使用您可以按名称检索的词典,添加具有相同名称的条目将覆盖上一个条目。
答案 1 :(得分:1)
您无法在C#中动态命名您想要的对象。但是,您可以使用Dictionary实现符合您需求的内容。
var kids = new Dictionary<string, Kid>()
kids.Add(name, new Kid(NAL[0], int.Parse(NAL[1]), NAL[2]);
然后,您可以通过
访问名为Sam的Kid
kids["KidSam"]
这使您可以访问基本上命名为Kid
的对象,而无需为每个对象命名。