【发布时间】:2011-12-26 04:50: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 子句来检查以使用此语句检查空值时,这有效
where p.name != null
我想要做的是允许添加空值。所以我尝试了 firstordefault 但没有用
name = p.name.FirstorDefault()
错误说我不能将字符转换为字符串。 peopleNames 是字符串类型的 setter、getter 方法。任何解决方法或解决方案?
【问题讨论】:
-
为什么这个
peopleNames = peopleList;在循环内? -
运行原始代码时遇到的错误是什么?忽略 p.name.FirstOrDefault() 的东西和你使用它时得到的错误;反正这不是你想要的。
-
@HackedByChinese 我现在离开那台机器,但我得到了一个空指针异常。当我检查数据时,我注意到 peeps.name 有一个我仍想传递给列表的空值。
-
错误原因很明显,添加更多细节以便澄清。
标签: c# .net linq anonymous-types