我对这一切都很陌生。我需要在C#中编写一个exe应用程序。我需要做的是能够通过控制台将值传递给函数。但我不确定如何存储通过控制台输入的值......
我知道我们可以使用Read()来读取输入的内容,但是当我处理多个值时,我该怎么做? 任何帮助将不胜感激!!提前致谢
答案 0 :(得分:5)
首先选择控制台应用程序模板(在新项目中)
然后,在Main函数中,您可以使用
一次读取一行string line = Console.ReadLine();
这可能会将您的问题转移到:如何从字符串中获取值?
如果你一次只有一个int,那就是
int x = int.Parse(line);
答案 1 :(得分:2)
您是指将命令行参数传递给控制台应用程序吗?如果是这样,则有一个字符串数组参数(例如args)来保存它们。请参阅this code。
static void Main(string[] args)
{
}
答案 2 :(得分:1)
嗯,我认为他想知道如何重复读取某些值并将其传递给函数。
为此,您可以使用简单的while循环。
string data = Console.ReadLine();
do {
dummyFunction(data);
data = Console.ReadLine();
} while (data != "");
答案 3 :(得分:0)
您想以编程方式将文本编译成代码吗?如果是这样,您应该从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);
答案 4 :(得分:0)
您基本上可以手动执行解析工作。例如,如果输入的名称跟随年龄。
Natthawut 22
您可以使用Console.ReadLine()来获取字符串"Nattawut 22"
。然后使用String.Split(' ')
;获取{"Natthawut","22"}
的数组。然后使用Convert.ToInt32(val)
;
我相信必须有更好的方法来做到这一点,但这就是我通常这样做的方式:)
答案 5 :(得分:0)
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-进行一些输入检查。