Вам не нужны незарегистрированные указатели или unsafe
здесь вообще. Поскольку Node
является классом, когда вы используете Node
в качестве параметра, поля, переменной и т. Д. - это ссылка на Node
экземпляр. ссылка здесь означает «управляемый указатель» - то есть, как указатель, но с полной поддержкой GC и безопасностью типов и т. Д. Поэтому все, что вам нужно, это Node
:
class Node
{
public int Data {get;set;}
public Node Next {get;set;} // Next/Previous might want "private set" if
public Node Previous {get;set;} // you are going to change them via methods
}
В частности, вы не можете с готовностью взять неуправляемый указатель на class
в C # - Node*
- что просто - это не то, что вы можете делать . Вы можете сделать это с struct
, но: вы почти наверняка не должны . Я ожидаю, что смысл в том, чтобы использовать управляемые указатели, иначе ссылки, т.е. Node
, а не Node*
.