C# 无法隐式转换类型';布尔';至';系统。DateTimeOffset?&x27;

C# 无法隐式转换类型';布尔';至';系统。DateTimeOffset?&x27;,c#,asp.net-mvc,model-view-controller,asp.net-mvc-viewmodel,C#,Asp.net Mvc,Model View Controller,Asp.net Mvc Viewmodel,只是想得到一个在我的一个视图模型中有数据的列表。我得到了,如果没有数据,它会列出,但我这样做是为了它确实有数据 这只是在标题中加入了错误。下面是代码列表: public List<RegisterMark> HasRegistered => RegisterMarks .Where(rm => rm.TimeRegistered is true) .ToList(); 公共列表已注册 =>寄存器标记

只是想得到一个在我的一个视图模型中有数据的列表。我得到了,如果没有数据,它会列出,但我这样做是为了它确实有数据

这只是在标题中加入了错误。下面是代码列表:

    public List<RegisterMark> HasRegistered
        => RegisterMarks
            .Where(rm => rm.TimeRegistered is true)
            .ToList();
公共列表已注册
=>寄存器标记
.Where(rm=>rm.TimeRegistered为true)
.ToList();

非常感谢

您应该重新格式化where表达式以测试非空:

.Where(rm => rm.TimeRegistered != null)
原因是: 未设置属性时,该属性要么具有默认值,要么为
null
。如果是后者,您可以简单地测试它


注意
is
仅在c#中用于进行类型比较

谢谢你Stefan-当你看到它的时候很容易!!旁白:
is
也用于常量模式匹配。例如:
x是5
x是“值”
啊,是的,“新”功能不是吗?除息的