有没有办法摆脱 foreach 扩展方法?“break”关键字不能将扩展方法识别为有效的中断范围。
//Doesn't compile
Enumerable.Range(0, 10).ToList().ForEach(i => { System.Windows.MessageBox.Show(i.ToString()); if (i > 2)break; });
编辑:从问题中删除“linq”
请注意,代码只是一个示例,显示 break 在扩展方法中不起作用……我真正想要的是让用户能够中止处理列表。UI 线程有一个 abort 变量,而 for 循环只是中断当用户点击取消按钮时。现在,我有一个正常的 for 循环,但我想看看是否可以使用扩展方法。