Я новичок в C#, является ли "public node next;" новым типом конструктора в классе ниже?
public class Node { public Node next; public Object data; }
Что я уже пробовал:
Пример кода, конечно, создает класс узла в отношении связанного списка.
Kevin Marois
"Public" - это модификатор доступа.
"Узел" - это ссылка на класс, в котором вы находитесь. Это означает, что этот класс будет иметь ссылку на себя под названием "next".
"next" - это переменная уровня класса, используемая для ссылки на экземпляр класса объекта Node.
Fred Ochoa
""Узел" - это ссылка на класс, в котором вы находитесь. Это означает, что этот класс будет иметь ссылку на себя под названием "next"."
Спасибо.
Я никогда не видел этого, как вы можете "ссылаться" на свое собственное имя класса как на тип данных? Это кажется круглым, и это не имеет смысла для меня. Я понимаю это только тогда, когда это конструктор. Но это не конструктор.
Kevin Marois
Есть некоторые ситуации, когда вам может понадобиться это сделать..
1) Паттерн Singleton. Видишь это http://csharpindepth.com/Articles/General/Singleton.aspx
2) иерархическая структура данных. Подумайте о дереве.
Погуглите оба из них для получения дополнительной информации.
Конструктор-это метод без возвращаемого типа, который имеет имя сохранения в качестве класса. Он используется для инициализации класса. Видишь это https://www.codeproject.com/Articles/7011/An-Intro-to-Constructors-in-C
Fred Ochoa
Ладно, Кевин, большое тебе спасибо, я посмотрю эти ссылки. Спасибо, что Вы тоже очень быстро ответили!!!
Kevin Marois
Без проблем. Удачи