0

IQueryable を受け取り、別のスレッド/タスクでスレッド セーフな方法で操作 (上位 10 個の要素を取得するなど) を実行する汎用拡張メソッドを作成したいと考えています。

誰かがそれを行う正しい方法のコード例を教えてください

ありがとう

4

1 に答える 1

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;
    }
于 2013-07-14T06:38:11.490 に答える