C# 为什么我会得到零例外?

C# 为什么我会得到零例外?,c#,exception,null,C#,Exception,Null,我搜索了一会儿,没有找到解决方案,或者我只是没有看到小错误 我用Visual C编写了一个程序,并且 表格1.cs Program.cs Server.cs Server.cs Program.cs 一切正常,但在Server.cs中,我得到一个带有form1.send(“数据”)的nullexception form1似乎真的是空的,但为什么呢 我在哪里忘了什么 public Form1 form1; form1.send("data"); form1从未被实例化。这是您的NullRef

我搜索了一会儿,没有找到解决方案,或者我只是没有看到小错误

我用Visual C编写了一个程序,并且 表格1.cs Program.cs Server.cs

Server.cs


Program.cs


一切正常,但在Server.cs中,我得到一个带有
form1.send(“数据”)的nullexception
form1似乎真的是空的,但为什么呢

我在哪里忘了什么

public Form1 form1;
form1.send("data");
form1从未被实例化。这是您的NullReferenceException(NRE)

更好:

public Form1 form1 = new Form1();
form1.send("data");

可能您忘记将
testServer
中的
form1
变量分配给构造参数


顺便说一句:您的代码看起来不是很好的设计:您不应该传递表单对象。

它是空的,因为您没有初始化它

public Form1 form1;
..
// Initialize the object BEFORE using it!
form1 = new Form1();
form1.send("data");

您必须创建Form1的实例,请重试

public Form1 form1 = new Form1();

form1
变量在代码中使用之前未进行初始化
form1.send(“数据”)不在函数内。“WindowsApplication1.SocketServer.form1”不是字段,但用于。。。这个方法必须有一个返回类型或类似的东西OK,它帮助我继续=)谢谢。我以为已经在那里做了。
public Form1 form1 = new Form1();
form1.send("data");
public Form1 form1;
..
// Initialize the object BEFORE using it!
form1 = new Form1();
form1.send("data");
public Form1 form1 = new Form1();