2016-06-11 5 views
-3

Ich mache ein Login-Terminal und ich habe eine Login-Zeichenfolge, also möchte ich überprüfen, ob der Benutzer den Namen der Zeichenfolge korrekt ausgibt, tun Sie Folgendes, hier ist der Code :Überprüfen Sie, ob Benutzereingaben = eine definierte Zeichenfolge ist

Console.WriteLine("--------------------"); 
Console.WriteLine("---LOGIN TERMINAL---"); 
Console.WriteLine("--------------------"); 
System.Threading.Thread.Sleep(1000); 
Console.WriteLine("/Log In"); 
Console.WriteLine("/Create New User"); 
Console.WriteLine("/Delete User"); 

userInput = Convert.ToString(Console.ReadLine()); 
if(userInput = LogIn) 
{ 

} 
+0

Danke! Ich habe es wirklich vergessen, weil ich lange nicht mehr Code geschrieben habe, danke trotzdem! –

Antwort

0

= operator ist ein Zuweisungsoperator. Sie müssen == operator verwenden, was der Gleichheitsoperator ist.

if(userInput == LogIn) 
{ 

} 

Wenn diese LogIn keine Variable, sondern ein string, müssen Sie es verwenden, um mit doppelten Anführungszeichen wie;

if(userInput == "LogIn") 
{ 

} 
+0

normalerweise VS gibt Ihnen einige Hinweise für diese Falle .... –

+0

@FalcoAlexander Ja, es gibt auch einige Erweiterungen, um Sie zu warnen, dass Sie nicht eine Gleichheitsprüfung, aber Zuweisung durchführen. –

0

sollten Diese helfen:

Console.WriteLine("--------------------"); 
Console.WriteLine("---LOGIN TERMINAL---"); 
Console.WriteLine("--------------------"); 
System.Threading.Thread.Sleep(1000); 
Console.WriteLine("/Log In"); 
Console.WriteLine("/Create New User"); 
Console.WriteLine("/Delete User"); 

var userInput = Convert.ToString(Console.ReadLine()); 
if(userInput == "Log In") // input check here 
{ 
    Console.WriteLine("Enter User Name"); 
    var userName = Console.ReadLine(); 
    Console.WriteLine("Enter User Password:"); 
    var password = Console.ReadLine(); 
    Console.WriteLine("User Name: {0}, Password: {1}", userName, password); 
}