用LINQ表达式替换foreach循环
更换用LINQ表达式替换foreach循环,linq,lambda,Linq,Lambda,更换foreach循环 IList<EmployeeSearch> empItems = new List<EmployeeSearch>(); EmployeeSearch empItem = new EmployeeSearch(); foreach (var _emp in mediaResults.results) { empItem.Title = _emp.title; empItem.Desc = _emp.description;
foreach
循环
IList<EmployeeSearch> empItems = new List<EmployeeSearch>();
EmployeeSearch empItem = new EmployeeSearch();
foreach (var _emp in mediaResults.results)
{
empItem.Title = _emp.title;
empItem.Desc = _emp.description;
empItems.Add(empItem);
}
错误:
错误2无法将类型“System.Collections.Generic.IEnumerable”隐式转换为“System.Collections.Generic.IList”。存在一个显式转换(您是吗
您需要将其转换为列表:
(from _emp in employeeResults.results
select new EmployeeSearch
{
Title = _emp.title,
Desc = _emp.description
}).ToList();
或者…更改empItems定义以使用var
隐式键入:
var empItems = from _emp in employeeResults.results
select new EmployeeSearch
{
Title = _emp.title,
Desc = _emp.description
};
empItems
将是EmployeeSearch
对象的IEnumerable
。您需要将其转换为列表:
(from _emp in employeeResults.results
select new EmployeeSearch
{
Title = _emp.title,
Desc = _emp.description
}).ToList();
或者…更改empItems定义以使用var
隐式键入:
var empItems = from _emp in employeeResults.results
select new EmployeeSearch
{
Title = _emp.title,
Desc = _emp.description
};
empItems
将是EmployeeSearch
对象的IEnumerable
。您需要将其转换为列表:
(from _emp in employeeResults.results
select new EmployeeSearch
{
Title = _emp.title,
Desc = _emp.description
}).ToList();
或者…更改empItems定义以使用var
隐式键入:
var empItems = from _emp in employeeResults.results
select new EmployeeSearch
{
Title = _emp.title,
Desc = _emp.description
};
empItems
将是EmployeeSearch
对象的IEnumerable
。您需要将其转换为列表:
(from _emp in employeeResults.results
select new EmployeeSearch
{
Title = _emp.title,
Desc = _emp.description
}).ToList();
或者…更改empItems定义以使用var
隐式键入:
var empItems = from _emp in employeeResults.results
select new EmployeeSearch
{
Title = _emp.title,
Desc = _emp.description
};
empItems
将是EmployeeSearch
对象的IEnumerable
。在查询结束时添加对扩展方法的调用:
empItems =
(from _emp in employeeResults.results
select new EmployeeSearch
{
Title = _emp.title,
Desc = _emp.description
})
.ToList();
或者,如果您可以重构代码,改用IEnumerable
,这可能会更好:
IEnumerable<EmployeeSearch> empItems =
from _emp in employeeResults.results
select new EmployeeSearch
{
Title = _emp.title,
Desc = _emp.description
};
IEnumerable项目=
来自员工结果中的emp
选择新员工搜索
{
Title=_emp.Title,
描述=_emp.description
};
如果您只是在结果中循环,并且实际上不需要从结果集中添加/删除元素,也不需要对结果进行按索引访问,则通常应使用此方法。将查询结果转换为列表需要在内存中分配单个连续数组,这是一个相当昂贵的操作。或者添加一个在查询结束时调用扩展方法:
empItems =
(from _emp in employeeResults.results
select new EmployeeSearch
{
Title = _emp.title,
Desc = _emp.description
})
.ToList();
或者,如果您可以重构代码,改用IEnumerable
,这可能会更好:
IEnumerable<EmployeeSearch> empItems =
from _emp in employeeResults.results
select new EmployeeSearch
{
Title = _emp.title,
Desc = _emp.description
};
IEnumerable项目=
来自员工结果中的emp
选择新员工搜索
{
Title=_emp.Title,
描述=_emp.description
};
如果您只是在结果中循环,并且实际上不需要从结果集中添加/删除元素,也不需要对结果进行按索引访问,则通常应使用此方法。将查询结果转换为列表需要在内存中分配单个连续数组,这是一个相当昂贵的操作。或者添加一个在查询结束时调用扩展方法:
empItems =
(from _emp in employeeResults.results
select new EmployeeSearch
{
Title = _emp.title,
Desc = _emp.description
})
.ToList();
或者,如果您可以重构代码,改用IEnumerable
,这可能会更好:
IEnumerable<EmployeeSearch> empItems =
from _emp in employeeResults.results
select new EmployeeSearch
{
Title = _emp.title,
Desc = _emp.description
};
IEnumerable项目=
来自员工结果中的emp
选择新员工搜索
{
Title=_emp.Title,
描述=_emp.description
};
如果您只是在结果中循环,并且实际上不需要从结果集中添加/删除元素,也不需要对结果进行按索引访问,则通常应使用此方法。将查询结果转换为列表需要在内存中分配单个连续数组,这是一个相当昂贵的操作。或者添加一个在查询结束时调用扩展方法:
empItems =
(from _emp in employeeResults.results
select new EmployeeSearch
{
Title = _emp.title,
Desc = _emp.description
})
.ToList();
或者,如果您可以重构代码,改用IEnumerable
,这可能会更好:
IEnumerable<EmployeeSearch> empItems =
from _emp in employeeResults.results
select new EmployeeSearch
{
Title = _emp.title,
Desc = _emp.description
};
IEnumerable项目=
来自员工结果中的emp
选择新员工搜索
{
Title=_emp.Title,
描述=_emp.description
};
如果您只是在结果中循环,并且实际上不需要从结果集中添加/删除元素,也不需要对结果进行按索引访问,则通常应使用此方法。将查询结果转换为列表需要在内存中分配单个连续数组,这是一个相当昂贵的操作。我尝试过
ToList()
我仍然收到相同的错误,我在选择时收到红色的斜线。在调用ToList()
之前,您将整个从…选择…
包围在括号中?我尝试过ToList()
我仍然收到相同的错误,我在select上看到红色的斜线在调用ToList()
之前,您将整个从…select…
包围在parens中?我确实尝试过ToList()
我仍然收到相同的错误,我在select上看到红色的斜线在调用ToList()
之前,您将整个从…select…
包围在parens中?我确实尝试过ToList()
我仍然会遇到同样的错误,我在select上会看到红色的斜线。在调用ToList()之前,您将整个从…select…
包围在parens中?