gpt4 book ai didi

c# - ArrayList 过滤逻辑

转载 作者:太空宇宙 更新时间:2023-11-03 13:50:12 25 4
gpt4 key购买 nike

我有一个 class Operation.Operation 的数组列表 arrTotalItems

该类有两个属性,一个是IDname。现在我有其他 arraylist arrSelectedItems,其中包含 operations

的 ID

现在我必须将两个 DataList 绑定(bind)到 operation 的名称。

第一个 DataList 将绑定(bind)到选定的 arraylist

其他 DataList 将绑定(bind)到 arrTotalItems - arrSelectedItems,即那些不在 arrSelectedItems 中的操作。

无法找到如何绑定(bind)两个列表的逻辑

最佳答案

如果您使用的是 .NET Framework 3.5 或更高版本,LINQ允许您从存储在 arrSelectedItems 中的 ID 进行投影操作与 Select() , 然后使用 Except()计算 arrTotalItems 之间的交集这个投影:

IEnumerable<Operation> totalOps = arrTotalItems.Cast<Operation>();
yourDataList.DataSource = totalOps.Except(arrSelectedItems.Cast<string>().Select(
id => totalOps.Where(op => op.ID == id).FirstOrDefault()));

请注意,您首先必须申请 Cast<T>() 给你的ArrayLists为了获得 IEnumerable<T> 的实例可以与 LINQ 方法一起使用。

关于c# - ArrayList 过滤逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13899519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com