【问题标题】:Check empty element array of double c#检查double c#的空元素数组
【发布时间】:2016-05-30 22:46:46
【问题描述】:

我正在寻找一个代码来检查我的 double 数组的元素是否为空。我尝试使用isNaNstring.isNullOrEmpty0.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();
}

【问题讨论】:

  • 你说的是什么意思? double 是 ValueType,不能为“空”。
  • 发布您的代码,我们会更好地了解您想要做什么。
  • 我有 double[] array = new double[12] 并且我想检查 array[6]for example 是否没有值。
  • 它总是有一个值,因为正如@FrédéricHamidi 所说,值类型总是有值。
  • @AbdellahOUMGHAR 这始终是true,因为double 是一个永远不能是null 的值类型。

标签: c# arrays double element


【解决方案1】:

如果你声明一个这样的数组

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;

【讨论】:

    【解决方案2】:

    Value types 不能没有一个值(也就是说,它们不能是null),但你可以使用Nullable<double>(或简称double?),它可以是如果您想表明它没有值,请设置为null。这是一个例子:

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

    然后为了检查它是否有一个值,你将它与null进行比较:

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

    编辑:

    题外话,但现在你已经发布了你的代码,我看到你使用double 来代表金钱(代办或收入),虽然这可以工作,你应该use decimal instead

    【讨论】:

      【解决方案3】:

      Double.IsNaN 不检查空值,请检查更多信息或阅读有关它的文档 https://stackoverflow.com/a/7967190/6001737

      你可以使用double?[] array = new double?[12];,它是可空的,然后你可以检查某个数组值是否等于空

      【讨论】:

        猜你喜欢
        • 2015-01-13
        • 2016-12-07
        • 1970-01-01
        • 2019-09-02
        • 2013-06-14
        • 1970-01-01
        • 2011-01-24
        • 1970-01-01
        • 2023-03-18
        相关资源
        最近更新 更多