Re[15]: C# [Proposal] init block for safe initialization of
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 26.12.25 07:22
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>>>Попробуйте решить проблему при помощи EmptyNode.



S>>
S>>var node1 = new Node("Hello") { Next = Node.EmptyNode, Previous = Node.EmptyNode }; 
S>>var node2 = new Node("World") { Next = node1, Previous = Node.EmptyNode) }; 
S>>node1.Previous = node2;
S>>foreach(var n in Iterate(node1)
S>>Console.WriteLine(n);
S>>


S>>И никаких System.NullReferenceException

S>Во-первых, вы сначала напишите код Node.EmptyNode
S>У нас проблема не в NullReferenceException, а в нарушении инварианта. В частности, node1.Next и node2.Previous так и остались непроинициализированными. Вы код-то попробуйте запустить

Я же уже писал

private Node(bool blin)
{
 this._next= this;
 this._previous = this;
}


Ну и в Next и Previous запрет на изменения для EmptyNode.
и солнце б утром не вставало, когда бы не было меня
Отредактировано 26.12.2025 7:31 Serginio1 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.