对c#中的变量执行相同类型的操作
本文关键字:同类型 操作 执行 变量 | 更新日期: 2023-09-27 18:24:10
在我的程序中有一段代码:
bigbg1.Image = null;
bigbg2.Image = null;
bigbg3.Image = null;
bigbg4.Image = null;
bigbg5.Image = null;
bigbg6.Image = null;
bigbg7.Image = null;
bigbg8.Image = null;
bigbg9.Image = null;
其中CCD_ 1 1-9是CCD_。如何缩短此代码?我想使用类似于"for
"的函数,但我不知道如何做到这一点。
如果您使用的是winforms,您可以迭代您的picturebox控件:
foreach(var pictureBox in this.Controls.OfType<PictureBox>())
pictureBox.Image = null;
与其他帖子类似,创建一个数组并使用LinqForEach方法。
List<PictureBox> pbs = new List<PictureBox>();
pbs.AddRange(new [] { bigbg1, bigbg2, bigbg3, bigbg4, bigbg5, bigbg6, bigbg7, bigbg8, bigbg9 });
pbs.ForEach(p => p.Image = null);
更新:
以下是一个简洁、紧凑的语法,它利用了公认的答案及其注释:
this.Controls.OfType<PictureBox>()
.Where(p => p.Name.StartsWith("bigbg")).ToList()
.ForEach(p => p.Image == null);
您可以使用array
和for
:
pictureBox [] _pictureBox = this.Controls.OfType<PictureBox>();
for(int i=0; i<_pictureBox.lenght;i++)
{
_pictureBox[i] =null;
}