所以我要做的是获取用户输入列表并将它们直接放入数组中。我想这样做而不为每个输入分配一个变量,因为可能有数百个。
static void writeAndWait(String statement, int millisecondsToWait)
{
Console.WriteLine(statement);
Thread.Sleep(millisecondsToWait);
return;
}
static void Main(string[] args)
{
//I am using ArrayLists because they will store as many values as needed wether it be 1 or 1,000,000 or more
ArrayList Name; //Declaring Name
ArrayList Time; //Declaring Time
ArrayList Path; //Declaring Path
Name = new ArrayList(); //Name will be used to store the names of the timers the user inputs
Time = new ArrayList(); //Time will be used to store the times of the timers the user inputs
Path = new ArrayList(); //Path will be used to store the path line of the timers the user inuts;
writeAndWait("Hello, if you want to add timers all you need to do is type a name and press enter, say how long you want the timer to run for in minutes, and then add a number 1-10 any timers with the same number at the end will run sycrnasly, and any timers with diferant nubers will run async", 2000);
Name.Add(Console.ReadKey().ToString());
Console.WriteLine(Name[0]);
}
Console.WriteLine只返回'Console.ReadKey()。ToString())
我希望它返回用户输入的密钥。或者Console.ReadKey的返回值
答案 0 :(得分:0)
不确定你在这里问什么,但使用结构将阻止你需要维护单独的数组。如果你实际上有一个动态数量的参数,我可以修改这个答案。
public struct TimerDescriptor
{
public string Name;
public string Time;
public string Path;
public static bool TryParse(string text, out TimerDescriptor value)
{
//check for empty text
if (string.IsNullOrWhiteSpace(text))
{
value = default(TimerDescriptor);
return false;
}
//check for wrong number of arguments
var split = text.Split(new [] {' '}, StringSplitOptions.RemoveEmptyEntries);
if (split.Length != 3)
{
value = default(TimerDescriptor);
return false;
}
value = new TimerDescriptor
{
Name = split[0],
Time = split[1],
Path = split[2]
};
return true;
}
public override string ToString()
{
return Name + ' ' + Time + ' ' + Path;
}
}
static void writeAndWait(String statement, int millisecondsToWait)
{
Console.WriteLine(statement);
Thread.Sleep(millisecondsToWait);
}
static void Main(string[] args)
{
//I am using ArrayLists because they will store as many values as needed wether it be 1 or 1,000,000 or more
var timerDescriptors = new List<TimerDescriptor>();
writeAndWait("Hello, if you want to add timers all you need to do is type a name and press enter, say how long you want the timer to run for in minutes, and then add a number 1-10 any timers with the same number at the end will run sycrnasly, and any timers with diferant nubers will run async", 2000);
var line = Console.ReadLine();
TimerDescriptor descriptor;
if (TimerDescriptor.TryParse(line, out descriptor))
{
timerDescriptors.Add(descriptor);
Console.WriteLine(descriptor);
}
else Console.WriteLine("Syntax error: wrong number of arguments. The syntax is: {Name} {Time} {Path} without the curly braces.");
}