0

我对这一切真的很陌生。我需要用 C# 编写一个 exe 应用程序。我需要做的是能够通过控制台将值传递到函数中。但我不确定如何存储通过控制台输入的值......

我知道我们可以使用 Read() 来读取输入的内容,但是,当我处理多个值时,我该怎么做呢?任何帮助将不胜感激!!提前致谢

4

6 回答 6

5

您首先选择控制台应用程序模板(在新项目中)

然后,在 Main 函数中,您可以一次读取一行

string line = Console.ReadLine();

这可能会将您的问题转移到:如何从字符串中获取值?

如果你一次只有一个 int,它是

int x = int.Parse(line);
于 2009-04-02T22:22:22.480 回答
2

您是指将命令行参数传递给控制台应用程序吗?如果是这样,则有一个字符串数组参数(例如 args)来保存它们。请参阅此代码

static void Main(string[] args)
{
}

您还可以使用Environment.GetCommandLineArgs

于 2009-04-02T22:08:54.850 回答
1

嗯,我想他想知道如何重复读取一些值并将其传递给函数。

为此,您可以使用简单的 while 循环。

string data = Console.ReadLine();
do {
  dummyFunction(data);
  data = Console.ReadLine();
} while (data != "");
于 2009-04-02T22:31:20.397 回答
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- 做一些输入检查。

于 2009-04-03T00:18:27.863 回答
0

您想以编程方式将文本编译成代码吗?如果是这样,您应该阅读 Microsoft 的此 KB 条目。如何使用 C# 编译器以编程方式编译代码

或者,如果您想在控制台中从用户那里获取输入,您应该使用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);
于 2009-04-02T22:07:46.180 回答
0

您基本上可以手动进行解析工作。例如,如果输入是姓名,则后跟年龄。

Natthawut 22

您可以使用 Console.ReadLine() 来获取字符串"Nattawut 22"。然后使用String.Split(' '); 得到一个数组{"Natthawut","22"}Convert.ToInt32(val)然后使用;将第二个元素转换为整数

我相信必须有更好的方法来做到这一点,但这是我通常的做法:)

于 2009-04-02T22:31:18.340 回答