我如何检查项目是否已经存在于ToolStripMenuItem下拉项
本文关键字:存在 ToolStripMenuItem 是否 何检查 检查 项目 | 更新日期: 2023-09-27 17:53:08
items = File
.ReadLines(RecentFiles)
.Select(line => new ToolStripMenuItem()
{
Text = line
})
.ToArray();
recentFilesToolStripMenuItem.DropDownItems.AddRange(items);
我想检查项目是否已经存在于recentFilesToolStripMenuItem.DropDownItems
你基本上有两个集合:items
&recentFilesToolStripMenuItem.DropDownItems
使用Linq
,您应该能够执行
Except()
Where()
,只添加两个集合之间的差异。
未测试
这是测试
recentFilesToolStrip.DropDownItems.AddRange(
items
.Where(i => !recentFilesToolStrip.DropDownItems
.OfType<ToolStripMenuItem>()
.Select(t => t.Text).Contains(i.Text)
).ToArray()
);
SLaks注释指的是做以下事情:
recentFilesToolStripMenuItems.DropDownItems.Clear();
recentFilesToolStripMenuItems.DropDownItems.AddRange(items);