string popUpHTML="";
var xx = from Temp in TemplateList
where
(
Temp.TitleID == titleID
)
select Temp.HTML;
foreach (var s in xx)
{
popUpHTML = s.ToString();
}
上面的代码正在运行。执行的linq应该只返回一个值。有没有办法在没有foreach循环的情况下得到上面LINQ的结果。 (对不起,我是LINQ的新手。)
更新:titleID是数据库中的唯一键,因此只需要一个结果。
答案 0 :(得分:8)
现在,您的查询会返回IEnumerable
,而是使用FirstOrDefault()
(或Single()
,如果您完全确定完全一个结果) :
var popUpHTML = (from Temp in TemplateList
where Temp.TitleID == titleID
select Temp.HTML).FirstOrDefault();
答案 1 :(得分:4)
var popUpHTML = TemplateList.Where(temp => temp.TitleID == titleID)
.Select(temp => temp.HTML)
.SingleOrDefault();
如果没有包含所提供ID的项目,则 popUpHtml
为null
。
答案 2 :(得分:2)
string popUpHTML =
(
from Temp in TemplateList
where ( Temp.TitleID == titleID )
select Temp.HTML
)
.FirstOrDefault();
答案 3 :(得分:0)
var xx = (from Temp in TemplateList
where
(
Temp.TitleID == titleID
)
select Temp.HTML).Take(1);
答案 4 :(得分:0)
var popUpHTML = TemplateList.FirstOrDefault(Temp => Temp.TitleID == titleID);