如果你在vb.net中的linq查询中使用'And'或'AndAlso',这有关系吗?我知道在正常操作中'AndAlso'是短路的,所以通常会更快,但我不知道是否会延续到linq查询。如果linq查询是针对数据库还是针对内存集合,这是否重要?
答案 0 :(得分:14)
对于LINQ来反对查询,这肯定很重要。对于其他LINQ提供程序,它取决于提供程序本身。在表达式树级别,它们是不同的,但提供者可能选择以相同的方式翻译/运行它。例如,SQL中没有等效的概念,因此LINQ to SQL将它们转换为相同的SQL。
答案 1 :(得分:1)
是否使用And vs. AndAlso非常依赖于使用环境。然而,使用AndAlso优于And。
AndAlso的短路质量将延续到LINQ查询