из C# 7 у нас есть доступный оператор сопоставления с образцом is. Я хотел бы спросить, рекомендуется ли использовать оператор is вместо == для проверки null. Есть ли разница между этими двумя подходами?
is
==
null
== можно настроить для вашего типа, поэтому x == null может быть не просто предполагаемой нулевой проверкой.
x == null
Для нулевой проверки вы можете сделать x is null, (object)x == null или object.ReferenceEquals(x, null).
x is null
(object)x == null
object.ReferenceEquals(x, null)