Что предпочтительнее: Nullable .HasValue или Nullable ! = Null?

Альтернативно, вы также можете использовать fopen

$params = array('http' => array(
    'method' => 'POST',
    'content' => 'toto=1&tata=2'
));

$ctx = stream_context_create($params);
$fp = @fopen($sUrl, 'rb', false, $ctx);
if (!$fp)
{
    throw new Exception("Problem with $sUrl, $php_errormsg");
}

$response = @stream_get_contents($fp);
if ($response === false) 
{
    throw new Exception("Problem reading data from $sUrl, $php_errormsg");
}
392
задан Wai Ha Lee 8 March 2019 в 10:12
поделиться

3 ответа

Компилятор заменяет пустые сравнения с вызовом к HasValue, таким образом, нет никакой реальной разницы. Просто сделайте, какой бы ни более читаемый/делает больше смысла Вам и Вашим коллегам.

440
ответ дан 22 November 2019 в 23:32
поделиться

Я предпочитаю (a! = Null) , чтобы синтаксис соответствовал ссылочным типам.

43
ответ дан 22 November 2019 в 23:32
поделиться

В VB.Net. НЕ используйте "IsNot Nothing", когда вы можете использовать ".HasValue". Я только что устранил ошибку Medium Trust "Operation could destabilize the runtime", заменив "IsNot Nothing" на ".HasValue" в одном месте. Я не очень понимаю почему, но что-то происходит по-другому в компиляторе. Я бы предположил, что "!= null" в C# может иметь ту же проблему.

13
ответ дан 22 November 2019 в 23:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: