【Unity】【CSharp】闭包 发表于 2024-11-14 更新于 2024-11-18 原因:引用的是地址,而不是值 1234567891011121314static void Main(string[] args){ Action[] actions = new Action[3]; for (int i = 0; i < 3; i++) { actions[i] = () => Console.WriteLine(i); // 该委托保存的是i的地址 } foreach (var action in actions) { // 输出i的地址的值 action(); // 输出 3 3 3,而不是 0 1 2 }}