2013-09-05 80 views
-2

背景:是否double.IsInfinity(value)覆蓋double.IsPositiveInfinity(value)和double.IsNegativeInfinity(value))?

我從CSV文件中提取數據並將其寫入數據庫。 這種情況非常頻繁,我試圖從效率的角度來看待這個問題。

問:

double.IsPositiveInfinity(value) || double.IsNegativeInfinity(value)在下面的代碼冗餘試圖拋出了無限的價值是什麼時候?

代碼:

foreach (var word in lineWords) 
{ 
    double value; 
    if (!double.TryParse(word, out value) || 
     double.IsNaN(value) || 
     double.IsInfinity(value) || 
     double.IsPositiveInfinity(value) || 
     double.IsNegativeInfinity(value)) 
    { 
     continue; 
    } 

    //Store value 
    ... 
} 
+0

我敢肯定它會考慮有一個用於純INF,INF +值,和-inf。 RefSrc是唯一可以說明的方法。 –

+3

難道自己檢查一下是不是很簡單? –

+1

[The documentation](http://msdn.microsoft.com/en-us/library/system.double.isinfinity.aspx)已經回答了,不是嗎? – hvd

回答

5

是的,額外的檢查是多餘的。作爲MSDN上注意到Double.IsInfinity

返回指示指定數字是否計算爲負或正無窮大

+1

quibits呢?在同一時間,他們可能既是積極的也是消極的**。 –

相關問題