我有代码.构造函数应该进入GetItems函数但是当我放置断点时,它根本就不会停止.
问题是什么?
namespace Storehouse {
public partial class MainForm : Form {
public MainForm() {
InitializeComponent();
var a = GetItems(fILEToolStripMenuItem);
}
public IEnumerable<ToolStripMenuItem> GetItems(ToolStripMenuItem item) {
foreach (ToolStripMenuItem dropDownItem in item.DropDownItems) {
if (dropDownItem.HasDropDownItems) {
foreach (ToolStripMenuItem subItem in GetItems(dropDownItem)) {
yield return subItem;
}
yield return dropDownItem;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
Yur*_* N. 11
当你使用yield时,它意味着延迟执行,所以你需要枚举你的变量a,如下所示:
var a = GetItems(fILEToolStripMenuItem).ToList();
Run Code Online (Sandbox Code Playgroud)
你也可以使用ToArray(),无论如何,你只需要枚举你的IEnumerable.
| 归档时间: |
|
| 查看次数: |
125 次 |
| 最近记录: |