C# 如何获取用户输入以使用登录控制台应用程序的验证方法?

C# 如何获取用户输入以使用登录控制台应用程序的验证方法?,c#,authentication,methods,console-application,user-input,C#,Authentication,Methods,Console Application,User Input,基本上,我希望能够要求用户输入他们的详细信息,并且从用户输入中,我希望能够用我已经设置好的文本文件中的数据交叉检查凭据。我只是很难找到使用该方法并接受用户输入的方法 static void Main(string[] args) { Console.WriteLine("PLEASE ENTER CORRECT DETAILS TO LOGIN"); Console.WriteLine("Enter Username:

基本上,我希望能够要求用户输入他们的详细信息,并且从用户输入中,我希望能够用我已经设置好的文本文件中的数据交叉检查凭据。我只是很难找到使用该方法并接受用户输入的方法

  static void Main(string[] args)
    {

        Console.WriteLine("PLEASE ENTER CORRECT DETAILS TO LOGIN");
        Console.WriteLine("Enter Username: ");
        Console.ReadLine();
        Console.WriteLine("Enter Password: ");
        Console.ReadLine();
     
    }
是否可以使用此方法获取用户输入以进行交叉检查:

    public bool Validate(string username, string password)
    {
        string filePath = @"C:\Users\K\Desktop\Accounts\login.txt";
        string[] logininfo = File.ReadAllLines(filePath + @"C:\Users\K\Desktop\Accounts\login.txt");

        foreach (string detail in logininfo)
        {
            users user = new users(detail);
            if (user.username == username && user.password == password)
            {
                return true;
            }
        }
        return false;
    }

}

您只需存储从控制台读取的值,并将其传递给
validate
函数即可。因为你正在读一个字符串,你不需要任何铸造。如果读取的值不是字符串,如整数,则必须考虑类型转换。

int-value=Int32.Prase(Console.ReadLine())

由于您尚未这样做,此代码将解决您的问题

static void Main(字符串[]args)
{
Console.WriteLine(“请输入正确的登录详细信息”);
Console.WriteLine(“输入用户名:”);
var username=Console.ReadLine();
Console.WriteLine(“输入密码:”);
var password=Console.ReadLine();
var isValid=validate(用户名、密码);
}

要从用户处获取键盘输入吗?无需在每次检查凭据时加载文件(除非您希望在应用程序运行时更改凭据)。在启动时加载一次,然后使用文件中的凭据将其与用户输入的内容进行比较。为此,您还需要将从
Console.ReadLine
获取的他的输入保存到variable@hackerbuddy谢谢你的回复和“是”键盘输入。@Fabjan谢谢你的回复,我肯定需要再次查看并清理它,我会考虑你提到的要点。