【问题标题】:Why does C# allow creating an object with the same reference? [closed]为什么 C# 允许创建具有相同引用的对象? [关闭]
【发布时间】:2013-08-16 19:16:50
【问题描述】:

这是我的代码示例:

Button1_Click(object sender, EventArgs e)
{
    PictureBox PB = new PictureBox;
    PB.Name = TextBox1.Text;
}

在此代码中,当用户单击按钮时,将创建一个 PictureBox 类型的新对象。然后Name 将被分配对象。这怎么可能?

我的意思是如果用户再次单击,将创建另一个具有相同引用的对象。这怎么可能?

【问题讨论】:

  • 为什么不应该这样?
  • 您在代码中确实是这么说的。每当单击 button1 时,创建一个新的图片框并为其分配名称值。
  • 您的代码明确地创建了一个新的PictureBox 对象并设置了Name 属性。您希望在这里发生什么?
  • 相同引用是什么意思?
  • 你的意思是每次点击都会创建一个具有相同名称属性的新图片框? PB 变量只存在于该方法中,多个控件只能具有相同的名称。

标签: c# object


【解决方案1】:

这怎么可能?

Control 上的 Name 属性只是一个字符串属性 - 您可以为其分配任何您想要的内容,因此拥有多个同名控件与拥有多个显示相同文本的文本框相同,或者具有string 属性的任何其他类。

请注意,在您的情况下,您实际上并没有使用或以任何方式存储您创建的PictureBox,因此只要您的方法结束,它将有资格获得 GC。

【讨论】:

  • PB 变量只存在于该方法中,多个控件只能具有相同的名称。没错,谢谢 CodeBaster。
  • 我怎样才能将 CodeBaster 评论设置为 True 并结束这个线程。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-28
  • 1970-01-01
相关资源
最近更新 更多