2016-05-30 15 views
-1

doubleの配列の要素が空であるかどうかを調べるコードを探しています。私はisNaNstring.isNullOrEmpty0.0Dで試してみましたが、私はまだこのテキストを持っています:番号ではありません。doubleの空の要素配列を確認する#

したがって、doubleの配列内の要素が空であるかどうかを確認できるC#のコードを知っていますか?ここで

は私のコードです:

if (!Double.IsNaN(d1.getChiffreAffaireBase()[keyIndex1])) 
{ 
    textBox43.Text = calcMargeCa(d1.getChiffreAffaireBase()[keyIndex1], d1.getChiffreAffairePlus()[keyIndex1]).ToString("0.00"); 
    textBox44.Text = calcMargeCa(d1.getChiffreAffaireBase()[keyIndex1+1], d1.getChiffreAffairePlus()[keyIndex1+1]).ToString("0.00"); 
} 
else 
{ 
    label13.Hide(); 
    textBox43.Hide(); 
    textBox44.Hide(); 
} 
+6

* empty *はどういう意味ですか? 'double'はValueTypeであり、"空 "にすることはできません。 –

+3

あなたのコードを投稿すると、あなたがしようとしていることがわかります。 – Nasreddine

+0

私はdouble [] array = new double [12]を持っていて、配列[6]に値がないかどうかをチェックしたいと思います。 –

答えて

4

Value typesは値を持っていないないができます(つまり、彼らはnullすることはできません、と言うことです)しかし、あなたがすることができNullable<double>(略してdouble?)を使用することができます値がないことを示す場合は、nullに設定します。それは価値あなたがnullにそれを比較しているかどうかをチェックするために、その後

double?[] array = new double?[12]; 

:ここでは例です

if (array[6] == null){ 
    // do your thing 
} 

編集:

トピックオフ

が、今あなたが投稿したことをごコードdoubleを使用してお金(Chiffre d'AffaireまたはRevenue)を表現していることがわかりました。use decimal instead

+0

@BlueMonkMN重要な編集をありがとう。 – Nasreddine

5

この

double[] array = new double[12]; // elements cannot be null 

ような配列を宣言した場合、すべての要素が0に設定されます。

あなたが本当にしたい場合は、nullableとしてそれを宣言する

var array = new double?[12]; // elements can be null 
var isEmpty = (array[6] == null); 

または

var isEmpty = !array[6].HasValue; 
1

Double.IsNaNは、null値をチェックし、よりのためにこれを確認するか、それ についてのドキュメンテーションを読んでいませんhttps://stackoverflow.com/a/7967190/6001737

代わりにNullableのdouble?[] array = new double?[12];を使用すると、特定の配列値はnullと等しくなります

関連する問題