![](/img/trans.png)
[英]Couldn't get selected items correctly if setting ListView ItemsContainer as VirtualizationStackPanel
[英]C# - Match between items in List<Items> to ItemsContainer in List<ItemsContainer>
我有一個項目列表和一個 ItemsContainer 列表,它是一個包含項目的 class。
我想從所有 itemContainers 中刪除我列表中的所有項目。
現在我正在考慮做這樣的事情:
List<ItemContainer> itemContainerList = ...
List<Item> itemsList = ...
foreach (ItemContainer itemContainer in itemContainerList)
{
foreach (Item item in itemsList)
{
if (itemContainer.Contains(item))
{
itemContainer.Remove(item);
}
}
}
希望讓這更高效、更優雅。
謝謝,阿維拉姆。
在公布更多信息之后,我發現這些限制意味着任何“常規有效”的方法都不適用。
根據您的限制,我只能建議翻轉循環:
foreach (Item item in itemsList)
{
foreach (ItemContainer itemContainer in itemContainerList)
{
if (itemContainer.Contains(item))
{
itemContainer.Remove(item);
break;
}
}
}
由於您的設置存在不幸的先前存在的問題,它仍然不理想,但由於只瀏覽這些項目一次,它會稍微快一些。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.