Альтернативно, вы также можете использовать 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");
}
Компилятор заменяет пустые сравнения с вызовом к HasValue
, таким образом, нет никакой реальной разницы. Просто сделайте, какой бы ни более читаемый/делает больше смысла Вам и Вашим коллегам.
Я предпочитаю (a! = Null)
, чтобы синтаксис соответствовал ссылочным типам.
В VB.Net. НЕ используйте "IsNot Nothing", когда вы можете использовать ".HasValue". Я только что устранил ошибку Medium Trust "Operation could destabilize the runtime", заменив "IsNot Nothing" на ".HasValue" в одном месте. Я не очень понимаю почему, но что-то происходит по-другому в компиляторе. Я бы предположил, что "!= null" в C# может иметь ту же проблему.