在C#中编写可执行函数

时间:2009-04-02 22:04:41

标签: c# console-application exe

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

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

6 个答案:

答案 0 :(得分:5)

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

然后,在Main函数中,您可以使用

一次读取一行
string line = Console.ReadLine();

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

如果你一次只有一个int,那就是

int x = int.Parse(line);

答案 1 :(得分:2)

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

static void Main(string[] args)
{
}

您也可以使用Environment.GetCommandLineArgs

答案 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-进行一些输入检查。