public partial class Form1 : Form { public Form1() { InitializeComponent(); } public Control AddControl(Control c) { this.Controls.Add(c); return c; } public Control CreateControl() { return new Control(); } private void button1_Click(object sender, EventArgs e) { var list = new List() { 1,2,3,4,5 }; var list2 = list.Select((v) => this.CreateControl()); list2.ForEach((v) => this.AddControl(v)); list2.ForEach((v) => Console.WriteLine(v.Parent.Name)); } private void button2_Click(object sender, EventArgs e) { var list = new List() { 1, 2, 3, 4, 5 }; var list2 = list.Select((v) => this.CreateControl()); var list3 = list2.Select((v) => this.AddControl(v)); list3.ForEach((v) => Console.WriteLine(v.Parent.Name)); } } public static class LinqExtension { public static void ForEach(this IEnumerable arr, Action pred) { foreach (var v in arr) { pred(v); } } }