我有一个IEnumerable<T>
方法的参数,其中T
是结构类型:
using System;
using System.Collections.Generic;
using System.Linq;
using ...
public static class Foo
{
internal struct CellDiff
{
public int RefX;
public int RefY;
public object OldValue;
public object NewValue;
}
private static void ItemChanged(IEnumerable<CellDiff> diffs, int cellX, int cellY)
{
var change = from CellDiff diff in diffs
where diff.RefX == cellX && diff.RefY == cellY
select diff;
...
}
}
这会导致以下错误:
(范围)
IEnumerable<CellDiff> diffs
错误:
找不到源类型“CellDiff
”的查询模式的实现。'Where
' 未找到。
我也试过做diffs.AsQueryable()
,无济于事。
我通常在IEnumerable<T>
. 我对这里发生的事情有点迷茫。