2

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

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

现在我必须将两个绑定DataListoperation.

首先DataList将绑定到 selected arraylist

其他DataList将被绑定到arrTotalItems - arrSelectedItems的是那些不在 arrSelectedItems 中的操作。

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

4

1 回答 1

1

如果您使用的是 .NET Framework 3.5 或更高版本,LINQ允许您从存储在 Select() 中的 id 中投影操作arrSelectedItems然后使用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 方法一起使用的实例。

于 2012-12-16T09:22:17.130 回答