我有以下列表
var listOfParks = (from s in DB.MasterDatas
select new SelectListItem
{
Text = s.service_under,
}).Distinct().Union(
from t in DB.MasterDatas
join f in DB.Users1
on t.pv_person_resp_id equals f.user_id
select new SelectListItem
{
Text = f.user_name
}).ToList()
但我需要手动将“全部”添加到此列表,我正在尝试这样做:
var listOfParks = (from s in DB.MasterDatas
select new SelectListItem
{
Text = s.service_under,
}).Distinct().Union(
from t in DB.MasterDatas
join f in DB.Users1
on t.pv_person_resp_id equals f.user_id
select new SelectListItem
{
Text = f.user_name
}).ToList().Add(new SelectListItem{Text="All"});
但我得到错误:无法将 void 分配给隐式类型的局部变量
最佳答案
您需要在下一行.Add
,您不能使用 LINQ 在一行中添加:
var listOfParks = (from s in DB.MasterDatas
select new SelectListItem
{
Text = s.service_under,
}).Distinct().Union(
from t in DB.MasterDatas
join f in DB.Users1
on t.pv_person_resp_id equals f.user_id
select new SelectListItem
{
Text = f.user_name
}).ToList();
listOfParks.Add(new SelectListItem{Text="All"});
问题是 .Add
返回 void
它试图分配给 listOfParks
但它不能。或者您可以使用 .Concat
但实际上,为了清楚起见,您没有理由不能将它放在单独的一行中。
关于c# - 如何将项目添加到 LINQ 检索的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49694705/