Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.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# Wrapping List.Add()使-Object引用未设置为对象的实例_C#_Runtime Error_Nullreferenceexception - Fatal编程技术网

C# Wrapping List.Add()使-Object引用未设置为对象的实例

C# Wrapping List.Add()使-Object引用未设置为对象的实例,c#,runtime-error,nullreferenceexception,C#,Runtime Error,Nullreferenceexception,我想用我的自定义类包装列表类。至于现在我有这样的东西, public class PriorityListOfNodes { private List<Node> list_; private IComparer<Node> sorter_; public List<Node> List_ { get {return list_;} set {list_ =

我想用我的自定义类包装
列表
类。至于现在我有这样的东西,

public class PriorityListOfNodes
{

    private List<Node>          list_;
    private IComparer<Node>     sorter_;

    public List<Node> List_ {
            get {return list_;}
            set {list_ = value;}
    }

    public PriorityListOfNodes ()
    {
            sorter_ = new NodeSorter_fValueDescending ();
    }

    public Node PopFromEnd ()
    {
            Node temp = new Node (list_ [list_.Count - 1]);
            list_.RemoveAt (list_.Count - 1);
            return temp;
    }

    public Node PeekFromEnd ()
    {
            return list_ [list_.Count - 1];
    }

    public void Add (ref Node toAdd)
    {
            Debug.Log (toAdd);
            list_.Add (toAdd);
            list_.Sort (sorter_);
    }
}
我得到运行时异常:

对象引用未设置为对象的实例


我也尝试过不使用
ref
,但结果相同。我做错了什么?

您从未实际实例化
列表

public PriorityListOfNodes()
{
分拣机=新节点分拣机();
列表=新列表();
}

默认情况下,类有空的无参数构造函数,因此实际上您有:

public class PriorityListOfNodes
{
    private List<Node> list_;
    // ...

    public PriorityListOfNodes()
    {
    }

    // ...
}

请参阅。

非常奇怪的命名方式。。通常私有字段有下划线前缀,或者没有下划线前缀prefix@lazyberezovsky我以前使用前缀,但它需要更长的时间来写(你完成字自动完成)。
 public PriorityListOfNodes ()
    {
            sorter_ = new NodeSorter_fValueDescending ();
            list_ = new List<Node>();
    }
public class PriorityListOfNodes
{
    private List<Node> list_;
    // ...

    public PriorityListOfNodes()
    {
    }

    // ...
}
public class PriorityListOfNodes
{
    private List<Node> list_;
    // ...

    public PriorityListOfNodes()
    {
         this.list_ = new List<Node>();
         // ...
    }

    // ...
}