我想创建一个接收IQueryable和的通用扩展方法 将以一种线程安全的方式在单独的线程/任务上执行操作(如获取前十个元素)。
有人可以给我一个正确的方法代码示例
由于
答案 0 :(得分:0)
像这样的东西
public static List<T> GetTopN<T>(IQueryable<T> inData, int n)
{
List<T> outData = new List<T>(n);
lock (inData)
{
int i = 0;
foreach (T t in inData)
{
if (i >= n)
{
return outData;
}
i++;
outData.Add(t);
}
}
return outData;
}