为什么此Int32总和总是返回0?

狗仔队

我知道至少一个值不为零,总和仍始终为0,
为什么?

get 
{
    Debug.WriteLine("ILockSumN");
    Debug.WriteLine(iLocks[2, 1] == (Int32?)null ? 0 : (Int32)iLocks[2, 1]);
    Debug.WriteLine(iLocks[3, 1] == (Int32?)null ? 0 : (Int32)iLocks[3, 1]);
    Debug.WriteLine(iLocks[6, 1] == (Int32?)null ? 0 : (Int32)iLocks[6, 1]);
    Int32 sum =
        iLocks[1, 1] == (Int32?)null ? 0 : (Int32)iLocks[1, 1] +
        iLocks[2, 1] == (Int32?)null ? 0 : (Int32)iLocks[2, 1] +
        iLocks[3, 1] == (Int32?)null ? 0 : (Int32)iLocks[3, 1] +
        iLocks[4, 1] == (Int32?)null ? 0 : (Int32)iLocks[4, 1] +
        iLocks[5, 1] == (Int32?)null ? 0 : (Int32)iLocks[5, 1] +
        iLocks[6, 1] == (Int32?)null ? 0 : (Int32)iLocks[6, 1];
    Debug.WriteLine(sum);
    return sum; 
} 
迈克尔·斯托姆

似乎是一个优先级问题-基本上,如果iLocks[1, 1]是,null那么它将花费,0否则,它将使用具有所有附加项的另一个分支。

尝试添加括号:

Int32 sum =
    (iLocks[1, 1] == (Int32?)null ? 0 : (Int32)iLocks[1, 1]) +
    (iLocks[2, 1] == (Int32?)null ? 0 : (Int32)iLocks[2, 1]) +
    (iLocks[3, 1] == (Int32?)null ? 0 : (Int32)iLocks[3, 1]) +
    (iLocks[4, 1] == (Int32?)null ? 0 : (Int32)iLocks[4, 1]) +
    (iLocks[5, 1] == (Int32?)null ? 0 : (Int32)iLocks[5, 1]) +
    (iLocks[6, 1] == (Int32?)null ? 0 : (Int32)iLocks[6, 1]);

7.12条件运算符说:

条件运算符是右关联的,这意味着运算从右到左分组。例如,形式为?的表达式。b:c?d:e被评估为a?b:(c→d:e)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么此函数总是返回0

来自分类Dev

为什么此if语句总是返回true

来自分类Dev

为什么此if语句总是返回true

来自分类Dev

为什么此函数总是返回零?

来自分类Dev

为什么&运算符返回Int32而不是bool?

来自分类Dev

为什么&运算符返回Int32而不是bool?

来自分类Dev

为什么int32 / int64比int慢?

来自分类Dev

为什么List <T>(Int32)的.Count的初始大小为0?

来自分类Dev

为什么此方法总是将0用作返回值?

来自分类Dev

为什么此方法总是将0用作返回值?

来自分类Dev

为什么此方法总是将0用作返回值?

来自分类Dev

为什么存在Convert.ToInt32(Int32)?

来自分类Dev

Python:为什么值总是返回0

来自分类Dev

为什么ListBox AlternationIndex总是返回0

来自分类Dev

为什么WP AJAX总是返回0?

来自分类Dev

为什么这个函数总是返回 0

来自分类Dev

为什么Color在字节上使用Int32?

来自分类Dev

为什么此查询总是返回所有记录?

来自分类Dev

为什么此VB程序总是返回1作为页码?

来自分类Dev

为什么此sql代码段总是返回8或1?

来自分类Dev

为什么此回调中的条件总是返回false?

来自分类Dev

为什么此JavaScript if语句总是返回true?

来自分类Dev

为什么此计算始终返回0

来自分类Dev

为什么.length在此代码中总是返回0?

来自分类Dev

为什么我的递归阶乘方法总是返回0?

来自分类Dev

为什么“ n&1 == 0”总是返回false?

来自分类Dev

为什么document.getElementsByName()。length总是返回0?

来自分类Dev

为什么selector.select()总是返回0

来自分类Dev

为什么Facebook PHP SDK getUser总是返回0?Opencart