C# 林奇查询及;vs&&;

C# 林奇查询及;vs&&;,c#,linq,logical-operators,C#,Linq,Logical Operators,我看到了一个带有&in-linq条件的代码 var highestApplicationStatus = (from status in ctx.ApplicationStatuses.Where(o => o.ApplicationId == Application.ApplicationId & o.IsDeleted == false & o.StatusDate != null).OrderByDescending(o => o.ApplicationSta

我看到了一个带有&in-linq条件的代码

 var highestApplicationStatus = (from status in ctx.ApplicationStatuses.Where(o => o.ApplicationId == Application.ApplicationId & o.IsDeleted == false & o.StatusDate != null).OrderByDescending(o => o.ApplicationStatusType.DisplayOrder) select status).FirstOrDefault();
我用&&

  var highestApplicationStatus = (from status in ctx.ApplicationStatuses.Where(o => o.ApplicationId == Application.ApplicationId && o.IsDeleted == false && o.StatusDate != null).OrderByDescending(o => o.ApplicationStatusType.DisplayOrder) select status).FirstOrDefault();

发布时出现了一个bug,有人问我这个更改。我的理解是&&用于逻辑运算,而as&用于位运算。一位团队成员建议&/&&在Linq环境中是相同的。有人能解释一下区别吗

使用
&
。任何人在这种情况下为
&
的使用辩护都是错误的。是的,一些提供者可能会将它们视为等价物(例如,在生成SQL时)。尽管如此,您还是应该使用
&&&
。一条旁注:永远不要更改任何看起来错误的现有代码。@JimG.,我通读了一遍,但问题是针对linq的query@Antediluvian好吧,先确认它是错的,然后再整理一下。并首先在登台环境中进行测试!