![](/img/trans.png)
[英]How do i check if i tem already exist in ToolStripMenuItem.DropDownItems?
[英]How do I check if items already exist in a ToolStripMenuItem DropDownItems?
items = File
.ReadLines(RecentFiles)
.Select(line => new ToolStripMenuItem()
{
Text = line
})
.ToArray();
recentFilesToolStripMenuItem.DropDownItems.AddRange(items);
我想检查项目是否已经存在于recentFilesToolStripMenuItem.DropDownItems
如果不存在,则添加,但如果不存在,则不添加。
基本上,您有两个集合: items
和recentFilesToolStripMenuItem.DropDownItems
使用Linq
,您应该可以 一个 一个Except()
Where()
仅添加两个集合之间的差异。
这未经测试。
recentFilesToolStripMenuItem.DropDownItems.AddRange(items.Except(recentFilesToolStripMenuItem.DropDownItems));
经过测试
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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.