为什么这样做:
result = (from e in db.CampaignCodes where e.Code.Equals("") && e.Domain.Equals(null) select e).FirstOrDefault();
但不是(结果为空):
String code = ""; String domain = null; result = (from e in db.CampaignCodes where e.Code.Equals(code) && e.Domain.Equals(domain) select e).FirstOrDefault();
??
扩展Iain的答案:
根据e.Domain.Equals()的重载次数,传递空字符串变量可能会遇到与传递null不同的变量吗?我不确定这里的规则是什么,但我怀疑编译器在明确给出"just"null时,可能更喜欢e.Domain.Equals(对象变量)到e.Domain.Equals(字符串变量),而不是已设置为null的字符串变量?