C# 引用具有一个名称的多个对象/变量
在C#中,我正在制作一个平台游戏。地形是picturebox,对于碰撞系统,例如,我需要有一个名称来引用多个选定的picturebox,因为用另一个picturebox实现相同的功能需要太多的代码。 例如,如果“picturebox1”和“picturebox2”被引用为“pictureall”,那么,如果执行此代码:C# 引用具有一个名称的多个对象/变量,c#,variables,object,reference,C#,Variables,Object,Reference,在C#中,我正在制作一个平台游戏。地形是picturebox,对于碰撞系统,例如,我需要有一个名称来引用多个选定的picturebox,因为用另一个picturebox实现相同的功能需要太多的代码。 例如,如果“picturebox1”和“picturebox2”被引用为“pictureall”,那么,如果执行此代码: pictureall.Visible = false; “picturebox1”和“picturebox2”都是不可见的。那么,我如何引用(在本例中)具有一个名称的两个Pic
pictureall.Visible = false;
“picturebox1”和“picturebox2”都是不可见的。那么,我如何引用(在本例中)具有一个名称的两个PictureBox
编辑:
我主要在If语句中使用它。比如说:
if(pictureall.Visible==true)MessageBox.Show(“true”);
如果任何picturebox可见,则为真
/Viktor您可以创建一个名为Grouppictures的自定义类
如果您不想像kishore V M建议的那样使用自定义集合类,可以将图片框的选择放在集合中,例如
列表
,并使用可用的(扩展)方法,例如
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
}
List pictureBoxes=new List();
//填写清单
图片框。添加(…);
//对列表中的所有框执行某些操作
pictureBoxes.ForEach(box=>box.Visible=true);
//询问一下列表中的方框
if(pictureBoxes.Any(box=>box.Visible))
{
//至少有一个框可见
}
//或:
if(pictureBoxes.All(box=>box.Visible))
{
//所有框均可见
}
参考资料: