允许空值被添加到列表中
本文关键字:添加 列表 许空值 空值 | 更新日期: 2023-09-27 18:18:24
我已经删除了所有不必要的变量,并试图直接关注手头的问题。我有一个可以返回空值的变量:
var ppl = from p in xyz.new_ppl
select new
{
p.name
};
我查询它并将其添加到列表中:
foreach (var peeps in ppl)
{
peopleList.Add(peeps.name);
peopleNames = peopleList;
}
当我在select语句之前添加where子句来检查null值时,使用该语句
where p.name != null
我想要能够做的是允许添加空值。所以我尝试了firstdefault,但是没有成功
name = p.name.FirstorDefault()
错误提示不能将char类型转换为string类型。peoplnames是字符串类型的setter getter方法。有什么变通或解决方案吗?
from p in xyz.new_ppl
select p.name;
你想这样试试吗?
var ppl = from p in xyz.new_ppl
select new
{
p == null ? null : p.name
};
当您执行p.name.FirstorDefault()
时,这意味着您尝试获得字符串p.name
的第一个字符。所以编译器错误是正确的(虽然我不知道为什么它不能隐式地将字符转换为字符串-但那是另一个故事:))
但是如果你想要添加null,为什么不直接删除where p.name != null
呢?