Можно сделать let inline isNull value = (value = null) и let inline isNullRef value = obj.ReferenceEquals(value, null) Второй будет быстрее по-идее, первый будет GenericEqualityIntrinsic юзать
Он не будет работать для типов, для которых не проставлен AllowNullLiteral вроде как же
А, ну ок. Я в данном случае проверял IL, вроде нормально все было. Как можно догадаться, в .net я не разбираюсь от слова «совсем». Рихтера почитать что ли
А, ну ок. Я в данном случае проверял IL, вроде нормально все было. Как можно догадаться, в .net я не разбираюсь от слова «совсем». Рихтера почитать что ли
Ну знаешь, если ты не гонишься за производительностью или некоторой "абсолютной правильностью", то пожалуй можно и не разбираться)
Просто с точки зрения языка как такового правильная конструкция - что-то = null. Это естественно, это ожидаемо. То, что компилятор генерит где-то субоптимальный код, не должно быть проблемой 99% юзеров наверное