//here `this` is supposed to be a `Form` List buttonList = this.Controls.OfType() .OrderBy(b=>b.Name) .ToList();
在这种情况下,您可以使用您的方法,返回存储在某个容器控件中的可枚举按钮:
public IEnumerable GetButtons() { return this.Controls.OfType().OrderBy(b => b.Name); //return this.panel1.Controls.OfType().OrderBy(b => b.Name); //actually any container control you're having your buttons within }
你可以用它:
foreach(Button b in GetButtons()) { //... }
尝试一个集合初始化器 :
List buttonList = new List() { button1, button2, button3, button4, button5, button6, button7, button8, button9 }
您可以使用集合初始值设定项 :
var buttonList = new List { button1, button2, button3, //... };
您可以使用集合初始化程序:
List buttonList = new List { button1, button2, button3, button4, button5, button6, button7, button8, button9, }