NullReferenceException错误C#

Ram*_*aya 1 c# visual-studio-2010

        QueryClass Query;
        string UserName = "";
        int UserId = 0;


        string email = txtEmail.Text;
        string name = txtUserName.Text;
        string phone = txtPhone.Text;
        byte[] buffer = new byte[100];

            UserName = Query.GetUserName(email); //returns a string value

            if (UserName != null)
            {
                MessageBox.Show(UserName + " is already in the database");
            }

            if (Query.AddNewUser(name, email, phone) == true) //returns a bool value
            {
                UserId = Query.GetUserId(email); //returns a int value
                if (Query.AddNewImage(UserId, buffer) == true) //returns a bool value
                {
                    MessageBox.Show("Done..!!");
                }

            }

            MessageBox.Show("Error");  
Run Code Online (Sandbox Code Playgroud)

我收到以下错误我点击后插入按钮(上面的代码)我的计划.

System.NullReferenceException
Message="Object reference not set to an instance of an object."
Run Code Online (Sandbox Code Playgroud)

我在以下地方得到了这个例外.(我没有检查其他地方)代码只是停止这些地方,并给出错误.

UserName = Query.GetUserName(email); //returns a string value

if (Query.AddNewUser(name, email, phone) == true) //returns a bool value
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决这个错误吗?我正在使用Visual Studio 2010.

Ree*_*sey 9

Query没有实际设置任何东西.您可能需要构造一个实例:

// Change: QueryClass Query;
QueryClass Query = new QueryClass();
Run Code Online (Sandbox Code Playgroud)

在不创建实例的情况下,当您致电时:

 UserName = Query.GetUserName(email);
Run Code Online (Sandbox Code Playgroud)

此时,Query仍然是默认值(null对于引用类型),并且您将NullReferenceException尝试使用它.

另外,您可能需要考虑命名此变量query(小写)和类Query(或者更好的是更具描述性的名称),以遵循正常的.NET命名准则.