如何根据用户输入是否等于数组中的值将其分配到类别中



所以我正在制作一个程序,为用户创建一个杂货清单。它将启动,自我介绍,并提示您输入项目。在您输入项目后,它将把它们分类为诸如";Dairy"干货";,这就是我与斗争的部分

Console.WriteLine("-----------------------------------------------");
Console.WriteLine("[<I-I-I-I-I>] LOADING [<I-I-I-I-I>]");
System.Threading.Thread.Sleep(1000);
Console.WriteLine("Initiating GROCERMAN. . .");
Console.WriteLine("Welcome to GROCERMAN! GrocerMan will help you create the best grocery list ever.");
Console.WriteLine("Please enter the items you would like to purchase:");
string purchInp = Console.ReadLine();
Console.WriteLine($"Are you sure you want to buy these items: {purchInp}? Please enter 'Yes' or 'No' exactly or it will not register.");
var decbuy = Console.ReadLine();
if(decbuy == "Yes"){
Console.WriteLine("Awesome! Please wait one moment.");
Console.WriteLine("Alright, I made your list! Here it is:");
Console.WriteLine(purchInp);
}
else if(decbuy == "No"){
Console.WriteLine("Ah, very well. You can restart the program to make a new list or you could leave, I guess. . .");
}
Console.WriteLine("-----------------------------------------------");

我不知道如何获取purchInp并通读它并自动将其分配给一个类别。我想我可以将它与包含尽可能多的物品可能性的数组(即一个充满所有可能的乳制品的数组(进行比较,如果它与某个数组中的某个物品匹配(就像你在dairy数组中输入"Milk",并将其打印在标题"dairy"下(,并以这种方式进行排序,但我不知道如何做到这一点。它会像这样打印出来:

[乳制品]

牛奶

奶酪

【干货】

谷物

面包

等等。

我也不知道如何在打印时进行换行,我看到你可以做一个空的Console.WriteLine();,但由于它打印出了一整块数据——打印出purchInp,我看不出它会如何工作。

以下是一些可以使用的工具:

  1. 为了可读性,请使用缩进:(
  2. 为了更好地进行比较,请比较ToLower(),使"是"one_answers"是"都匹配
  3. 用于拆分字符串:List<string> items = purchInp.Split(",");
  4. 用于不同行打印foreach(var item in items) { Console.WriteLine(item) };
  5. 对于存储类别,请使用新类或集合:var knownItems = new Dictionary<string,List<string>>(); knownItems.Add("Diary", new List<string>() { "Milk", "Cream" });

相关内容

  • 没有找到相关文章

最新更新