为什么Linq扩展方法在Array上不可用?
var values = Enum.GetValues(typeof(MyEnum)); var test = values.Select(x => x); // compile error
但我可以这样写它并编译……
var test = from Enum e in values select new { e };
我通常不会使用这种语法,所以我不是很熟悉它,但上面的lambda查询与上面的编译不一样吗?
var values = Enum.GetValues(typeof(MyEnum)); var test = values.OfType<int>().Select(x => x);