Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.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#WPF值为空?_C#_Wpf_Binding - Fatal编程技术网

C#WPF值为空?

C#WPF值为空?,c#,wpf,binding,C#,Wpf,Binding,我得到的值在我的代码中为null,我不太理解。这是我的密码: public int[] Data { get { return null; } set { for (int i = 0; i < 256; i++) { i

我得到的值在我的代码中为null,我不太理解。这是我的密码:

public int[] Data
        {
            get
            {
                return null;
            }
            set
            {
                for (int i = 0; i < 256; i++)
                {
                    if (null != value)
                    {
                        _histogram[i] = value[i];
                    }
                }           

                RedrawHistogram();
            }
        }

其中
!我想知道这里发生了什么事?即使我在上面加了一个条件,它还是失败了?谢谢。

\u直方图
是空值,而不是
。您需要在某个时间点将其初始化为
int[]
。可能在每次
set
调用中,或者在构造函数中调用一次,都不清楚在您的情况下哪个是可取的。

我明白了。但是_histogram实际上初始化为_histogram=newint[256];正如我观察到的,在构造函数中。我还没有找到它被销毁的地方。实际上,它的值是空的。整数[256]中的_直方图。我现在很困惑。@NickXTsui好吧,您可以调试代码,但考虑到您提供的代码,
value
几乎不可能引发空引用异常。你需要有意识地尝试这样做。对于
\u直方图
为空只意味着您没有显示的代码有错误,在您显示代码且代码没有错误之前,这是最有可能的选项。@NickXTsui如果
确实为
,那么最有可能的选项是您没有向我们显示您实际执行的代码,因为在拥有该代码的同时也拥有
在给定行上抛出一个NRE几乎是不可能的。当然,另一个选项是异常被抛出到另一行,并且考虑到
get
方法的实现,如果它导致了异常,我不会感到惊讶。
if (null != value)
                    {
                        _histogram[i] = value[i];
                    }