今天在遇到Massive的一些问题后,我决定创建一个简单的测试程序来说明问题。我想知道,我在这段代码中犯了什么错误:
var list = new List<string>
{
"Hey"
};
dynamic data = list.Select(x => x);
var count = data.Count();
最后一行抛出错误:'object' does not contain a definition for 'Count'
为什么将“数据”视为对象?是否因为我正在调用扩展方法而出现此问题?
以下代码有效:
var list = new List<string>
{
"Hey"
};
dynamic data = list.Select(x => x);
foreach (var s in data)
{
}
为什么在这种情况下“数据”被正确地视为 IEnumerable?