我想知道是否有任何方法可以将以下代码写得更短......
public PictureBox pb1;
public PictureBox pb2;
public PictureBox pb3;
.....
public PictureBox pb50;
Run Code Online (Sandbox Code Playgroud)
然后,有没有办法将所有这些变量添加到列表中,而无需再次执行相同的丑陋代码.
listPB.add(pb1); listPB.add(pb2);...... ListPB.add(pb50);
Run Code Online (Sandbox Code Playgroud)
我使用的方法真的很愚蠢,我希望还有其他方法可以做到.谢谢您的帮助!
你可以像这样制作一个特别的集合:
PictureBox[] pictureBoxen = {pb1, pb2, pb3, ..., pb50};
Run Code Online (Sandbox Code Playgroud)
然后你可以AddRange在列表上使用它们来添加它们
listPB.AddRange(pictureBoxen);
Run Code Online (Sandbox Code Playgroud)
或者,如果listPB在该位置创建,并且仅包含这些变量,则可以执行以下操作:
List<PictureBox> listPB = new List<PictureBox>{pb1, pb2, ..., pb50};
Run Code Online (Sandbox Code Playgroud)
请注意,这种语法仅在2008年的C#3中引入,因此可以安全地假设您正在使用该语法或更高版本.
对于C#2及以下版本,循环是我能想到的最好的.