gpt4 book ai didi

c# - 这两个 linq 表达式在功能上是否等效?

转载 作者:太空狗 更新时间:2023-10-29 20:06:09 25 4
gpt4 key购买 nike

在功能上有区别吗:

if (photos.Any(it => it.Archived))

if (photos.Where(it => it.Archived).Any())

如果是这样,是否有更有说服力的理由来使用一个而不是另一个?

最佳答案

在功能上,它们做同样的事情。性能取决于特定的提供程序,但例如在 LINQ to SQL 中,两种形式都产生完全相同的 SQL:

SELECT 
(CASE
WHEN EXISTS(
SELECT NULL AS [EMPTY]
FROM [dbo].[photos] AS [t0]
WHERE [t0].[Archived] = 1
) THEN 1
ELSE 0
END) AS [value]

如果我必须选择一个,我会使用第一个选项,因为它对我来说似乎更清楚一些。

关于c# - 这两个 linq 表达式在功能上是否等效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4261195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com