我有以下字典集合的扩展方法
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的原因?