我已使用GroupBy()
,并制作了IEnumerable<IGrouping<TKey,TValue>>
。
我可以对其进行预测,并将每个元素(每个IGrouping<TKey,TValue>
)传递给接受IEnumerable<TValue>
的方法
这并不奇怪 - IGrouping<TKey,TValue>
实施IEnumerable<TValue>
但是如果我定义了一个接受IEnumerable<IEnumerable<B>>
的方法,那么我就无法直接传入GroupBy()
的输出,即使它是IEnumerable<>
并且内部的每个元素都是它是IEnumerable<B>
为什么?
答案 0 :(得分:0)
正如几个人所指出的那样(事实上,正如我在脑后知道的那样),这只是一个协方差问题,而且只能在.NET 4之前的环境中中断。