C# 比较C中可能为空的字符串#
我尝试使用以下方法比较数据库上LINQ查询中的字符串字段: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
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
完成的两项工作。