我有這樣的代碼:爲什麼「!=」不能與長時間相比?
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
. . .
if (null != request.UserAgent)
{
str = String.Format("userAgent == {0}", request.UserAgent.ToString());
MessageBox.Show(str);
}
. . . // many other similar ones, comparing null to string, etc. types
但是這一個:
if (null != request.ContentLength)
{
str = String.Format("contentLength == {0}", request.ContentLength.ToString());
MessageBox.Show(str);
}
...失敗,「運營商的編譯時錯誤不能適用 '=!'以類型的操作數「」和「長」「
我可以追加一個ToString()來獲得它來編譯:
if (null != request.ContentLength.ToString())
. . .
...但這似乎有點奇怪。爲什麼HttpWebRequest的ContentLength(很長)無法與null相比?
長期不能爲空。你將不得不有一個很長的/可空值它甚至得到一個空值。 –
2014-08-27 21:48:45
爲什麼?這種方式與其他數據類型有什麼不同? – 2014-08-27 21:49:33
int,long,double,float等可以爲null,因爲它們是值類型,因爲它們不是可以爲空的類型。 – 2014-08-27 21:50:02