2016-02-26 5 views
1

Я перехожу от PHP (процедурного) к C#, и у меня есть ряд ошибок в следующем блоке - что я делаю неправильно?Обрезать пробелы и ошибки возврата в C#

Цель состоит в том, чтобы передавать значения имени пользователя и пароля, а затем обрезать, проверять и возвращать список ошибок (я использую словарь для построения массива ошибок).

  1. "Имя" varUserName "не существует в текущем контексте".
  2. «else» = «Определение типа или пространства имен или ожидаемый конец файла».

    public class Login (string InUserName, string InUserPass) 
    { 
        string varUserName; 
        string varUserPass; 
    
        // Dictionary object is c# equivalent of PHP's 'array["key"] = "value"' 
        Dictionary<string, string> errMsg = new Dictionary<string, string>(); 
    
        varUserName = "123qwe"; 
    
        varUserName = varUserName.Trim(); 
    
        if ((varUserPass == "") && (varUserName == "")) 
        { 
         errMsg.Add("Username", "Username cannot be blank"); 
         errMsg.Add("Password", "Username cannot be blank"); 
        } 
        else 
        { 
         if (varUserName == "") 
         { 
          errMsg.Add("Username", "Username cannot be blank"); 
         } 
    
         if (varUserPass == "") 
         { 
          errMsg.Add("Password", "Password cannot be blank"); 
         } 
        } 
    } 
    

Спасибо Новичок Matt

+1

удалить ключевое слово _class_ от вашей Логина сигнатуры методы и вместо того, чтобы использовать 'Dictionary ' в качестве возвращаемого типа , Также не забудьте вернуть errMsg; – bkdev

ответ

1

Проблема заключается в том, что вы делаете все, что в вашем классе. Вы не можете делать логику в своем классе. Поместите свой код в метод. Как так:

public class Login 
{ 
    string varUserName; 
    string varUserPass; 

    // Dictionary object is c# equivalent of PHP's 'array["key"] = "value"' 
    Dictionary<string, string> errMsg = new Dictionary<string, string>(); 

    public Dictionary<string, string> LogMeIn() 
    { 
     varUserName = "123qwe"; 

     varUserName = varUserName.Trim(); 

     if ((varUserPass == "") && (varUserName == "")) 
     { 
      errMsg.Add("Username", "Username cannot be blank"); 
      errMsg.Add("Password", "Username cannot be blank"); 
     } 
     else 
     { 
      if (varUserName == "") 
      { 
       errMsg.Add("Username", "Username cannot be blank"); 
      } 

      if (varUserPass == "") 
      { 
       errMsg.Add("Password", "Password cannot be blank"); 
      } 
     } 
    return errMsg; 
    }  

} 

Вы можете назвать это как, что в вашем коде:

Login login = new Login(); 
var errMsg = login.LogMeIn(); 
+0

Спасибо. Я много учился делать. – Matt

+0

Просто не сдавайтесь, вы можете это сделать! – FKutsche

 Смежные вопросы

  • Нет связанных вопросов^_^