Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 表单引用浪费内存?_C#_Winforms - Fatal编程技术网

C# 表单引用浪费内存?

C# 表单引用浪费内存?,c#,winforms,C#,Winforms,我很抱歉,但我完全是个新手。希望你们能快点找到答案,尽管我到处都找不到答案 如果我在另一个表单中创建一个对表单的引用,那么我最终会在内存中找到两个表单批次,或者在内存中找到同一表单的两个标记 我希望能够引用另一个表单上的控件来更改值等。如果有更好的方法,一些指针会很好,但我没有;I don’我不指望你做我的工作 我正在使用: private Form1 _myForm1; public Form1 MyForm1 { get{return _myForm1;} set{_myFor

我很抱歉,但我完全是个新手。希望你们能快点找到答案,尽管我到处都找不到答案

如果我在另一个表单中创建一个对表单的引用,那么我最终会在内存中找到两个表单批次,或者在内存中找到同一表单的两个标记

我希望能够引用另一个表单上的控件来更改值等。如果有更好的方法,一些指针会很好,但我没有;I don’我不指望你做我的工作

我正在使用:

private Form1 _myForm1;

public Form1 MyForm1
{
   get{return _myForm1;}
   set{_myForm1 = value;}
}
然后在承包商中:

public Form2()
{
   MyForm1 = (Form1)Form1.ActiveForm;
   InitializeComponent();
}
我突然想到,我很可能真的在浪费记忆


非常感谢

对现有对象的附加引用只会占用存储引用所需的空间。即,对象本身未被复制。但是,垃圾回收器不会回收该对象,直到不再引用它。

对现有对象的附加引用只会占用存储引用所需的空间。即,对象本身未被复制。但是,在不再引用对象之前,垃圾收集器不会回收该对象。

您正在浪费4或8个字节。变量只是指向同一对象的指针。

浪费了4或8个字节。变量只是指向同一对象的指针。

谢谢Stu,但我将接受Brian的答案,因为它提供了有用的额外信息。别恨我:)谢谢斯图,但我会接受布赖恩的回答,因为他提供了有用的额外信息。不要恨我:)