看这个例子:
IEnumerable<string> en = Enumerable.Empty<string>(); //{string[0]}
var enSelected = en.Select(id => id); //{System.Linq.EmptyPartition<string>}
var list = en as IList<object>; //{string[0]}
var listSelected = enSelected as IList<object>; //null
为什么在空的可枚举对象上使用
.Select
会改变其类型?这可能是LINQ中的一个错误吗?而
System.Linq.EmptyPartition
是什么?我没有找到关于这个类型的任何文档,也无法直接在代码中使用。我正在使用Visual Studio 2017 15.4.2,在一个Xamarin.iOS项目中发生了这种情况。您能否在您的环境中测试一下,以便我们可以看到这是否特定于我的环境?