【发布时间】:2009-04-02 22:04:40
【问题描述】:
我对这一切真的很陌生。我需要用 C# 编写一个 exe 应用程序。我需要做的是能够通过控制台将值传递到函数中。但我不确定如何存储通过控制台输入的值...
我知道我们可以使用 Read() 来读取输入的内容,但是,当我处理多个值时,我该怎么做呢? 任何帮助将不胜感激!!提前致谢
【问题讨论】:
-
你能说明一下你到底需要什么吗?
标签: c# console-application exe
我对这一切真的很陌生。我需要用 C# 编写一个 exe 应用程序。我需要做的是能够通过控制台将值传递到函数中。但我不确定如何存储通过控制台输入的值...
我知道我们可以使用 Read() 来读取输入的内容,但是,当我处理多个值时,我该怎么做呢? 任何帮助将不胜感激!!提前致谢
【问题讨论】:
标签: c# console-application exe
您首先选择控制台应用程序模板(在新项目中)
然后,在 Main 函数中,您可以使用
一次读取一行string line = Console.ReadLine();
这可能会将您的问题转移到:如何从字符串中获取值?
如果你一次只有一个 int,那就是
int x = int.Parse(line);
【讨论】:
您是指将命令行参数传递给控制台应用程序吗?如果是这样,则有一个字符串数组参数(例如 args)来保存它们。见this code。
static void Main(string[] args)
{
}
【讨论】:
嗯,我想他想知道如何重复读取一些值并将其传递给函数。
为此,您可以使用简单的 while 循环。
string data = Console.ReadLine();
do {
dummyFunction(data);
data = Console.ReadLine();
} while (data != "");
【讨论】:
您想以编程方式将文本编译成代码吗?如果是这样,您应该阅读 Microsoft 的此 KB 条目。 How to programmatically compile code using C# compiler
或者如果你想在控制台中获取用户的输入,你应该使用Console.ReadLine()。
Console.Write("Enter your name: ");
string name = Console.ReadLine();
Console.Write("Enter your age: ");
int age = int.Parse(Console.ReadLine());
Console.Write("Hello {0}, you are {1} years old.", name, age);
【讨论】:
您基本上可以手动进行解析工作。例如,如果输入是姓名,则后跟年龄。
Natthawut 22
您可以使用 Console.ReadLine() 来获取字符串 "Nattawut 22"。然后使用String.Split(' ');获取{"Natthawut","22"} 的数组。然后使用Convert.ToInt32(val)将第二个元素转换为整数;
我相信一定有更好的方法来做到这一点,但这是我通常的做法:)
【讨论】:
int year, month, day;
Console.WriteLine("Please enter your birth year : ");
year = int.Parse(Console.ReadLine());
Console.WriteLine("Please enter your birth month : ");
month = int.Parse(Console.ReadLine());
Console.WriteLine("Please enter your birth day : ");
day = int.Parse(Console.ReadLine());
Console.Write("You are ");
Console.Write(CalculateAge(year, month, day));
Console.Write(" years old.");
另一种方法是:
Console.WriteLine("Please enter your birthday in the format YY-MM-DD : ");
string line = Console.ReadLine();
string[] parts = line.Split(new char[] { '-' });
int age = CalculateAge(parts[0],parts[1],parts[2]);
Console.WriteLine("You are {0} years old.", age);
并且 -PLEASE- 做一些输入检查。
【讨论】: