Extentions.DictionaryExtentions + <split> d__0`2.MoveNext中的System.ArgumentNullException

时间:2018-05-27 14:19:23

标签: c# linq generics

我有以下字典集合的扩展方法

public static IEnumerable<Dictionary<TKey, TValue>> Split<TKey, TValue>(
    this Dictionary<TKey, TValue> array, 
    int size)
{
    for (var i = 0; i < (float)array.Count / size; i++)
    {
        yield return array.Skip(i * size)
                          .Take(size)
                          .Select(t => new { t.Key, t.Value })
                          .ToDictionary(t => t.Key, t => t.Value);
    }
}

我正在使用它:

var batches = ItemsDictionary.APIitems.Split(20).ToList();
当我调用Split()扩展方法时,

ItemsDictionary.APIitems在另一个方法中被初始化并且不为null而不是空。 它工作正常,但在50%的执行中它会抛出

  

System.ArgumentNullException at Extentions.DictionaryExtentions+<Split>d__0``2.MoveNext

任何想法可能是ArgumentNullException的原因?

0 个答案:

没有答案