【发布时间】:2018-10-21 20:05:30
【问题描述】:
如何将用户输入存储到“列表”List<string> ItemList 然后输出输入的内容?
目前,当我运行程序时,用户可以在varItemInput 中输入值,然后 for 循环继续进行,直到输入了 10 个条目,但是它不会输出输入的值,而是输出 10 个空列表值。我做错了什么?
我认为错误是,它没有将用户输入存储到varItemInput,而只是输出预定义的空List.Add(""); 值。
如何使用户填充的列表最多包含 10 个条目?
这应该类似于“库存程序”,其中用户输入像锤子这样的项目,然后在输入 10 个条目后,它会在输出屏幕上显示所有 10 个条目。
我知道如何用一个数组来做这件事,但是这个特殊的程序必须用一个列表来完成。
这是我的代码
using System;
using System.Collections.Generic;
namespace ListProgram
{
class Program
{
static void Main(string[] args)
{
string varListInput = null;
Boolean varIsValid = true;
Int32 intTime = 3000000;
while (varIsValid)
{
try
{
Console.Clear(); //Clear the console program from any scren values
Console.WriteLine("Welcome to OTC CIS120" + "\n");
Console.WriteLine("ACME Co. Item Locator List Program" + "\n"); //Header
List<string> ItemList = new List<string>();
ItemList.Add("");
ItemList.Add("");
ItemList.Add("");
ItemList.Add("");
ItemList.Add("");
ItemList.Add("");
ItemList.Add("");
ItemList.Add("");
ItemList.Add("");
ItemList.Add("");
// Reverse the output to show recent input first.
ItemList.Reverse();
for (int i = 0; i < ItemList.Count; i++) // Continue For Loop until i is > List amount.
{
Console.WriteLine(i + ": "+ "Enter Item Name To Add To Inventory"); // Asks for user input into array.
varListInput = Console.ReadLine(); // User inputs value into field.
}
Console.WriteLine("Items Added To Inventory Are: "); // Outputs List in reverse order. (Recent input first).
for (int i = 0; i < ItemList.Count; i++)
{
Console.WriteLine(i + ": " + varListInput); // The entered values array output.
}
System.Threading.Thread.Sleep(intTime);
}
catch (Exception e)
{
Console.WriteLine("The Program Has an Error: " + e.Message); // Error message if program encountered an error durring runtime.
varIsValid = false;
System.Threading.Thread.Sleep(intTime);
Environment.Exit(0); //Exit the program
}
}
}
}
}
【问题讨论】:
标签: c# string list console-application user-input