C# 如何在c中读取用户输入以启动方法#

C# 如何在c中读取用户输入以启动方法#,c#,.net,user-input,C#,.net,User Input,我正在创建一个监控应用程序,用于测试服务器是否正在运行 我希望用户选择他们在Dev、stage或Prod中运行的环境,然后针对特定环境进行测试 我是c#的新手,因此希望得到一些关于如何进行这项工作的指导 在伪代码中 为不同的环境定义所有服务器地址 要求用户选择他们想要测试的环境 读取用户的输入,并将其带到将读取环境并开始测试服务器是否正在运行的方法(与输入同名) 我不知道该怎么办…有什么帮助吗 到目前为止,我所拥有的是: class Program { static void Main(

我正在创建一个监控应用程序,用于测试服务器是否正在运行

我希望用户选择他们在Dev、stage或Prod中运行的环境,然后针对特定环境进行测试

我是c#的新手,因此希望得到一些关于如何进行这项工作的指导

在伪代码中

  • 为不同的环境定义所有服务器地址

  • 要求用户选择他们想要测试的环境

  • 读取用户的输入,并将其带到将读取环境并开始测试服务器是否正在运行的方法(与输入同名)

  • 我不知道该怎么办…有什么帮助吗

    到目前为止,我所拥有的是:

    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Please choose your environment and Username to test from below");
            Console.WriteLine("Dev");
            Console.WriteLine("Stage");
            Console.WriteLine("Prod");
    
            string inputtedText = "";
            inputtedText = Console.ReadLine();
    
            if (inputtedText == "Dev") { Program.TestServer(null); }
            if (inputtedText == "Stage") { Program.TestServer(null); }
            if (inputtedText == "Prod") { Program.TestServer(null); }
        }
    
        static void TestServer (string[] args)
        {
          //how to read the specific username and server for this credential creation? 
        System.Net.NetworkCredential credentials = new System.Net.NetworkCredential(ServerName, UserName);
        }
    

    由于缺乏细节,从我听到的情况来看,我猜你在寻找这样的东西:

    static void Main(string[] args)
    {
        Console.WriteLine("Please choose your environment and Username to test from below");
        Console.WriteLine("Dev");
        Console.WriteLine("Stage");
        Console.WriteLine("Prod");
    
        string inputtedText = "";
        inputtedText = Console.ReadLine();
    
        if (inputtedText == "Dev") { Program.TestServer("DevMachine", "DevUser", "DevPass"); }
        if (inputtedText == "Stage") { Program.TestServer("StageMachine", "StageUser", "StagePass"); }
        if (inputtedText == "Prod") { Program.TestServer("ProdMachine", "ProdUser", "ProdPass"); }
    }
    
    static void TestServer (string ServerName, string UserName, string UserPassword)
    {
      //Use ServerName UserName and UserPassword
    }
    

    上面的代码使用硬编码值。你应该考虑把这些值存储在例如

    < p>因为缺少细节,从我听到的,我猜你正在寻找类似的东西:

    static void Main(string[] args)
    {
        Console.WriteLine("Please choose your environment and Username to test from below");
        Console.WriteLine("Dev");
        Console.WriteLine("Stage");
        Console.WriteLine("Prod");
    
        string inputtedText = "";
        inputtedText = Console.ReadLine();
    
        if (inputtedText == "Dev") { Program.TestServer("DevMachine", "DevUser", "DevPass"); }
        if (inputtedText == "Stage") { Program.TestServer("StageMachine", "StageUser", "StagePass"); }
        if (inputtedText == "Prod") { Program.TestServer("ProdMachine", "ProdUser", "ProdPass"); }
    }
    
    static void TestServer (string ServerName, string UserName, string UserPassword)
    {
      //Use ServerName UserName and UserPassword
    }
    

    上面的代码使用硬编码值。你应该考虑将这些值存储在例如

    中,我不确定你想做什么;您想读取一个输入并调用一个与输入的名称相同的方法吗?是的,没错,很抱歉,我没有说清楚。您已经知道如何要求用户输入环境名称并使用它。凭证有什么问题?您不能执行相同的操作吗?请用户输入它们?dev stage和prod的服务器Id不同,用户可能不知道它的确切Id。。我需要在凭据中指定服务器id。为什么不将有关用户的信息存储在数据库或配置文件中,然后执行特定任务?我不确定您想做什么;您想读取一个输入并调用一个与输入的名称相同的方法吗?是的,没错,很抱歉,我没有说清楚。您已经知道如何要求用户输入环境名称并使用它。凭证有什么问题?您不能执行相同的操作吗?请用户输入它们?dev stage和prod的服务器Id不同,用户可能不知道它的确切Id。。我需要在凭据中指定服务器id。为什么不将有关用户的信息存储在数据库或配置文件中,然后执行特定任务?