对具有一个名称的多个对象/变量的引用
本文关键字:对象 变量 引用 有一个 具有一 | 更新日期: 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 的自定义类
- 这将包含图片列表作为成员变量
- 方法集可见性(布尔可见)
- 在上面的方法中,您将循环并设置所有图片的可见性
- 但是您将把该方法调用为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
- 任何
- 全部