此代码中console.readline
的具体用途是什么?
String username = Console.Readline();
String password = Console.Readline();
String Valid = (username = "Kmp" && password = "Kmp")? "Valid user": "Invalid User";
Console.Writeline(Valid);
我是菜鸟玩家;),我需要您的大力支持。
答案 0 :(得分:4)
上面的代码部分无效。为了解决您的主要问题,Console.ReadLine()
将在控制台窗口中读取用户的输入。
string username = Console.ReadLine();
username
将成为用户输入的内存引用。另外定义的类型如下:
字符串是字符的顺序集合,用于 代表文字。字符串对象是的顺序集合 代表字符串的System.Char对象;一个System.Char对象 对应于UTF-16代码单元。字符串对象的值为 System.Char对象的顺序集合的内容,以及 该值是不可变的(即,它是只读的)。欲了解更多 有关字符串不可变性的信息,请参见不可变性 以及本主题后面的StringBuilder类部分。最大值 内存中String对象的大小为2GB,约10亿 字符。
现在要解决此逻辑:
String Valid = (username = "Kmp" && password = "Kmp")? "Valid user": "Invalid User";
那一行你有大问题。
==
进行相等性比较。我可能会执行以下操作:
public string Authenticate(string username, string password)
{
if(String.Compare(username, "Example", false) == 0 && String.Compare(password, "Example", false) == 0)
return "Authenticated.";
return "Invalid credentials.";
}
然后,在拥有Valid
的地方,您只需拥有:string valid = Authenticate(username, password);
。但是,您可以返回Write
或WriteLine
直接写回用户,而不是返回字符串并使用一条消息。
您可以执行的其他条件方法:
(username == "..." && password == "...") ? "..." : "..."
if(username == "..." && password == "...")
{
// True
}
有几种方法,但请记住使用==
来实现相等,单值是用于分配值。
答案 1 :(得分:1)
Console.ReadLine()
用于将控制台存储区中的输入读取为字符串。
在您的代码中,用户名和密码正在从控制台读取,并将其存储到相应的变量中
String username = Console.Readline(); //Reads input from console and store string value to username variable
String password = Console.Readline(); //Reads input from console and store string value to password variable
从MSDN
从标准输入流中读取下一行字符。