gpt4 book ai didi

c# - Linq2Sql : Does HasValue and ! = null,对可空类型也一样吗?

转载 作者:太空狗 更新时间:2023-10-29 21:07:38 24 4
gpt4 key购买 nike

我应该选择其中一个而不是另一个吗?还是真的不重要?

var a = data.Cars.Where(ø => ø.LicensePlate != null);

var b = data.Cars.Where(ø => ø.LicensePlate.HasValue);

我以前使用过 != null,但开始觉得我应该换一个,因为 HasValue 的读起来更好。你们有什么感想?有什么区别吗?除了一个字符外?任何性能差异? sql差异?

最佳答案

不,这两个语句是相同的,您应该选择您认为更易读的那个。

值得注意的是,编译器将替换 null Nullable<T> 上的比较调用 HasValue .换句话说:

class Program
{
static void Main()
{
int? i = 0;

Console.WriteLine(i != null);
Console.WriteLine(i.HasValue);
}
}

编译成这样:

private static void Main()
{
int? i = 0;
Console.WriteLine(i.HasValue);
Console.WriteLine(i.HasValue);
}

关于c# - Linq2Sql : Does HasValue and ! = null,对可空类型也一样吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/625754/

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