[英]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.