C# 表单引用浪费内存?
我很抱歉,但我完全是个新手。希望你们能快点找到答案,尽管我到处都找不到答案 如果我在另一个表单中创建一个对表单的引用,那么我最终会在内存中找到两个表单批次,或者在内存中找到同一表单的两个标记 我希望能够引用另一个表单上的控件来更改值等。如果有更好的方法,一些指针会很好,但我没有;I don’我不指望你做我的工作 我正在使用:C# 表单引用浪费内存?,c#,winforms,C#,Winforms,我很抱歉,但我完全是个新手。希望你们能快点找到答案,尽管我到处都找不到答案 如果我在另一个表单中创建一个对表单的引用,那么我最终会在内存中找到两个表单批次,或者在内存中找到同一表单的两个标记 我希望能够引用另一个表单上的控件来更改值等。如果有更好的方法,一些指针会很好,但我没有;I don’我不指望你做我的工作 我正在使用: private Form1 _myForm1; public Form1 MyForm1 { get{return _myForm1;} set{_myFor
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的答案,因为它提供了有用的额外信息。别恨我:)谢谢斯图,但我会接受布赖恩的回答,因为他提供了有用的额外信息。不要恨我:)