!string.IsNullOrEm-6ren">
gpt4 book ai didi

c# - 哪个性能更好

转载 作者:行者123 更新时间:2023-12-03 18:58:42 29 4
gpt4 key购买 nike

以下哪项使用 LINQ 的性能更好?

sets.FirstOrDefault(x=>x.name=="xxx")

sets.FirstOrDefault(x=>!string.IsNullOrEmpty(x.name) && x.name.Equals("xxx",StringComparison.InvariantCultureIgnoreCase));

这里的名字可以是null。我在我的应用程序中使用这种查询 20 多次。

有没有更好的方法?

最佳答案

这两种说法之间存在重大差异,因此您不能仅根据性能来判断它们。

第一个表现更好,但第二个会给出不同的结果(因为它不检查大小写和变音符号)。

可选地,您可以像这样重写第二个:

sets.FirstOrDefault(x => string.Equals(x.name, "xxx",StringComparison.OrdinalIgnoreCase));

它不需要 string.IsNullOrEmpty 这将使第二次调用比以前快一点。

weston 所述:使用 OrdinalIgnoreCaseInvariantCultureIgnoreCase 表现更好,因此 this notice微软的。

关于c# - 哪个性能更好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24034037/

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