对具有一个名称的多个对象/变量的引用

本文关键字:对象 变量 引用 有一个 具有一 | 更新日期: 2023-09-27 18:20:08

在C#中,我正在制作一个平台游戏。地形是图片框,对于碰撞系统,例如,我需要有一个名称来引用多个选定的图片框,因为用另一个图片框制作相同的功能太多代码了。因此,举个例子,如果"picturebox1"answers"picturebox 2"被引用为"pictureall",那么,如果执行此代码:

pictureall.Visible = false;

"picturebox1"answers"picturebox 2"都是不可见的。那么,我如何引用(在示例中)具有1个名称的2个图片框呢?

编辑:我主要会在If语句中使用它。例如:if(pictureall.Visible==true)MessageBox.Show("true");如果任何图片框可见,则为真。

/Viktor

对具有一个名称的多个对象/变量的引用

您创建了一个名为Grouppictures 的自定义类

  1. 这将包含图片列表作为成员变量
  2. 方法集可见性(布尔可见)
  3. 在上面的方法中,您将循环并设置所有图片的可见性
  4. 但是您将把该方法调用为GrouppicturesObj.SetVisibity(false)

如果你不想像kishore V M建议的那样使用自定义收藏类,你可以将图片框的选择放在List<T>等收藏中,并使用可用的(扩展)方法,例如

List<PictureBox> pictureBoxes = new List<PictureBox>();
// fill the list
pictureBoxes.Add(...);
// do something to all boxes in the list
pictureBoxes.ForEach(box => box.Visible = true);
// ask something about the boxes in the list
if (pictureBoxes.Any(box => box.Visible))
{
    // at least one box visible
}
// or:
if (pictureBoxes.All(box => box.Visible))
{
    // all boxes visible
}

参考文献:

  • ForEach
  • 任何
  • 全部