1

我正在从 PHP(程序)迁移到 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");
            }
        }
    }
    

谢谢新手马特

4

1 回答 1

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();
于 2016-02-26T10:37:27.757 回答