【发布时间】:2017-11-08 14:55:53
【问题描述】:
在下面的代码中,我为参数数据表中的每一行添加了一个 parameterValue。
但是,我收到以下错误:
“无法从用法中推断方法 'EnumerableRowCollectionExtensions.Select(EnumerableRowCollection, Func)' 的类型参数。请尝试显式指定类型参数。”
谁能帮我理解我需要在代码中明确定义什么类型参数?
下面是错误代码:
parameters.AsEnumerable().Select(x =>
{
ParameterValue parameterValue = new ParameterValue();
parameterValue.Name = x["name"].ToString();
parameterValue.Value = x["value"].ToString();
parameterList.Add(parameterValue);
});
这在 foreach 循环中运行良好。这是代码:
foreach (DataRow row in parameters.Rows)
{
ParameterValue parameterValue = new ParameterValue();
parameterValue.Name = row["name"].ToString();
parameterValue.Value = row["value"].ToString();
parameterList.Add(parameterValue);
}
【问题讨论】:
-
Select需要一个返回所需对象的函数。它不是ForEach或Apply的同义词。事实上,它不应该有副作用