C# 比较C中可能为空的字符串#

C# 比较C中可能为空的字符串#,c#,.net,sql,linq,C#,.net,Sql,Linq,我尝试使用以下方法比较数据库上LINQ查询中的字符串字段: e.Comment.equals("Working From Home") 关于WHERE子句 但是,有时注释字段可能为空,这会导致当前未将对象引用设置为对象的实例异常 有没有办法检查注释是否为空,然后进行比较以避免出现异常?在这种情况下,使用“==”运算符就足够了: !String.IsNullOrEmpty(e.Comment) && e.Comment == "Working From Home" e.Comm

我尝试使用以下方法比较数据库上LINQ查询中的字符串字段:

e.Comment.equals("Working From Home")
关于WHERE子句

但是,有时注释字段可能为空,这会导致当前未将
对象引用设置为对象的实例
异常


有没有办法检查注释是否为空,然后进行比较以避免出现异常?

在这种情况下,使用“==”运算符就足够了:

!String.IsNullOrEmpty(e.Comment) && e.Comment == "Working From Home"
e.Comment == "Working From Home"

您可以使用
==
代替Equals:

e.Comment == "Working From Home"

LINQ to SQL将正确地将其转换为适当的SQL语法。

您可以执行
“在家工作”。Equals(e.Comment)
String.Equals(例如注释,“在家工作”)

你可以在家工作。Equals(e.Comment)或使用string。IsNullOrEmpty()非常有意义,甚至没有想到它这么简单。谢谢虽然我不确定.NET是否会理解如果他使用LINQ to SQL,如何将
IsNullOrEmpty
转换为SQL,但是
==
将完成
IsNullOrEmpty
完成的两项工作。