c# - NullReferenceException 错误 C#

标签 c# visual-studio-2010

这个问题在这里已经有了答案:





What is a NullReferenceException, and how do I fix it?

(27 个回答)


8年前关闭。



        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");  

单击程序的插入按钮(代码上方)后,出现以下错误。
System.NullReferenceException
Message="Object reference not set to an instance of an object."

我在以下地方遇到了这个异常(exception)。 (我没有检查其他地方)代码只是停止这些地方并给出错误。
UserName = Query.GetUserName(email); //returns a string value

if (Query.AddNewUser(name, email, phone) == true) //returns a bool value

谁能帮我解决这个错误?我正在使用 Visual Studio 2010。

最佳答案

您正在使用 Query没有实际将其设置为任何东西。您可能需要构建一个实例:

// Change: QueryClass Query;
QueryClass Query = new QueryClass();

在不创建实例的情况下,当您调用时:
 UserName = Query.GetUserName(email);

此时,Query仍然是默认值(对于引用类型是 null),你会得到 NullReferenceException在尝试使用它时。

附带说明一下,您可能需要考虑将此变量命名为 query (小写)和类 Query (或者,更好的是,一个更具描述性的名称),以便遵循正常的 .NET 命名准则。

关于c# - NullReferenceException 错误 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16570829/

相关文章:

c# - 如何在通用词典中使用通用词典?

C# 多选列表框所选项目文本

visual-studio-2010 - 在 Visual Studio 中批量标准化行尾

visual-studio-2010 - 无法使用 Selenium Web 驱动程序在 Chrome/Firefox/IE 上的 VS 2010 中运行自动化测试 - 显示空白页 ??

c# - 如何让 VS2010 使用 3.0 C# 编译器而不是 4.0?

.net - Visual Studio 2010 在 Release模式下构建 silverlight 应用程序时显示错误

c# - 将 MultipartFormDataContent 从 Controller Action 方法发布到 WebApi Post 方法

c# - Twilio API - 发送短信时请求过多

c# - 插入数据时不将数据复制到表中

javascript - 如何在变量中插入动态多行文本框生成的值