这是我的密码:
string Listprinted = Console.ReadLine(); //fiora
string aatroxS = "Man Sofia 16";
List<string> aatrox = aatroxS.Split(" ").ToList();
string fioraS = "Woman Varna 15";
List<string> fiora = fioraS.Split(" ").ToList(); //this should be printed with the input "fiora"
string gwenS = "Woman Gabrovo 17";
List<string> gwen = gwenS.Split(" ").ToList();
//Console.WriteLine(Listprinted.List);我在输入中包含的是由用户使用fiora声明的字符串Console.ReadLine()。我还有一个名为fiora的列表。除了3条else if语句之外,还有什么方法可以打印与字符串Listprinted中声明的输入名称相同的列表(在当前示例- fiora中)?如果输入是printed.The,则应该打印list aatrox,如果输入是gwen,则应该打印list gwen,如果输入是fiora,则list fiora应该是printed.The问题,因为我目前有160个这样的名称,当用户键入列表的名称时,应该打印这些名称,这样if else语句就不合适了。
发布于 2022-09-26 19:12:05
您可以使用一个以列表名称作为键,列表作为值的字典。无法通过用户输入访问列表。最后,要显示列表内容,可以使用函数string.Join()将列表值与给定的分隔符连接起来。
示例:
// Get list name from user input
string Listprinted = Console.ReadLine();
// Declare lists
Dictionary<string, List<string>> lists = new Dictionary<string, List<string>>();
lists.Add("aatrox", new List<string>() { "Man", "Sofia", "16" });
lists.Add("fiora", new List<string>() { "Woman", "Varna", "15" });
lists.Add("gwen", new List<string>() { "woman", "Gabrovo", "17" });
// Print list
if (lists.ContainsKey(Listprinted)) {
Console.WriteLine(string.Join(", ", lists[Listprinted]));
}
// Output: Woman, Varna, 15https://stackoverflow.com/questions/73858612
复制相似问题