Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检查双c的空元素数组#_C#_Arrays_Double_Element - Fatal编程技术网

C# 检查双c的空元素数组#

C# 检查双c的空元素数组#,c#,arrays,double,element,C#,Arrays,Double,Element,我正在寻找一个代码来检查double数组中的元素是否为空。我试过使用isNaN,string.isNullOrEmpty和0.0D但是没什么可做的,我仍然有这个文本:不是数字 那么,您知道C#中的任何代码能够检查double数组中的元素是否为空吗 这是我的密码: if (!Double.IsNaN(d1.getChiffreAffaireBase()[keyIndex1])) { textBox43.Text = calcMargeCa(d1.getChiffreAffaireBase(

我正在寻找一个代码来检查double数组中的元素是否为空。我试过使用
isNaN
string.isNullOrEmpty
0.0D
但是没什么可做的,我仍然有这个文本:不是数字

那么,您知道C#中的任何代码能够检查double数组中的元素是否为空吗

这是我的密码:

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();
}
不能没有值(也就是说,它们不能是
null
),但如果要指示它没有值,可以使用(或简称
double?
)将其设置为
null
。下面是一个例子:

double?[] array = new double?[12];
然后,为了检查它是否有值,请将其与
null
进行比较:

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


离题了,但现在您已经发布了代码,我看到您正在使用
double
表示货币(Chiffre d'Affaire或Revenue),虽然这可能有效,但如果您声明这样的数组,您应该

double[] array = new double[12];    // elements cannot be null
所有元素都将设置为
0

如果确实需要,请将其声明为可为空

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


Double.IsNaN不检查空值,请检查此项了解更多信息或阅读相关文档


相反,您可以使用
double?[]数组=新的double?[12]
哪个值可以为空,然后可以检查某个数组值是否等于空

空是什么意思
double
是一个ValueType,它不能为“空”。发布您的代码后,我们将更好地了解您试图执行的操作。我有double[]数组=新的double[12],我想检查数组[6]是否没有值。它将始终有一个值,因为正如@FrédéricHamidi所说,值类型总是有值。@Abdellahumghar这总是
true
,因为
double
是一种永远不能为
null
的值类型。
var isEmpty = !array[6].HasValue;