【问题标题】:Writing an executable function in C#用 C# 编写可执行函数
【发布时间】:2009-04-02 22:04:40
【问题描述】:

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

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

【问题讨论】:

  • 你能说明一下你到底需要什么吗?

标签: c# console-application exe


【解决方案1】:

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

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

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

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

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

int x = int.Parse(line);

【讨论】:

    【解决方案2】:

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

    static void Main(string[] args)
    {
    }
    

    您也可以使用Environment.GetCommandLineArgs

    【讨论】:

      【解决方案3】:

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

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

      string data = Console.ReadLine();
      do {
        dummyFunction(data);
        data = Console.ReadLine();
      } while (data != "");
      

      【讨论】:

        【解决方案4】:

        您想以编程方式将文本编译成代码吗?如果是这样,您应该阅读 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);
        

        【讨论】:

        • 我认为你的回答让他们大吃一惊。他们想知道如何在控制台程序中读取输入,而不是使用 CodeDOM。
        • 是的,我意识到了这一点,所以我添加了简单的输入收集。
        • 是的,您应该使用 int.TryParse,但为了简单起见,我没有使用它。
        【解决方案5】:

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

        Natthawut 22
        

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

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

        【讨论】:

          【解决方案6】:
          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- 做一些输入检查。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2019-01-17
            • 2016-11-11
            • 1970-01-01
            • 2013-12-06
            • 1970-01-01
            • 1970-01-01
            • 2012-02-15
            • 2013-09-07
            相关资源
            最近更新 更多