假设我有一个这样的方法:
static string ToString(dynamic d)
{
return (string)d.ToString();
}
例如,我有 var tmp = new List<dynamic> { 1, "2", 345 };
为什么
IEnumerable<string> test = tmp.Select(ToString);
编译正常,但是
IEnumerable<string> test = tmp.Select(x => ToString(x));
不是吗?
错误:
CS0266 Cannot implicitly convert type 'System.Collections.Generic.IEnumerable<dynamic>' to 'System.Collections.Generic.IEnumerable<string>'. An explicit conversion exists (are you missing a cast?)
这在 VS 2015 和 VS 2017 上适用于所有 >=4.5.0 框架
相关分类