Сообщение Re[15]: C# [Proposal] init block for safe initialization of от 26.12.2025 7:22
Изменено 26.12.2025 7:31 Serginio1
Re[15]: C# [Proposal] init block for safe initialization of
Здравствуйте, Sinclair, Вы писали:
S>>>Попробуйте решить проблему при помощи EmptyNode.
S>>
S>>И никаких System.NullReferenceException
S>Во-первых, вы сначала напишите код Node.EmptyNode
S>У нас проблема не в NullReferenceException, а в нарушении инварианта. В частности, node1.Next и node2.Previous так и остались непроинициализированными. Вы код-то попробуйте запустить
Я же уже писал
Ну и в Next и Previous запрет на изменения для EmptyNode.
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.
Re[15]: C# [Proposal] init block for safe initialization of
Здравствуйте, Sinclair, Вы писали:
S>>>Попробуйте решить проблему при помощи EmptyNode.
S>>
S>>И никаких System.NullReferenceException
S>Во-первых, вы сначала напишите код Node.EmptyNode
S>У нас проблема не в NullReferenceException, а в нарушении инварианта. В частности, node1.Next и node2.Previous так и остались непроинициализированными. Вы код-то попробуйте запустить
Я же уже писал
Ну и в Next и Previous запрет на изменения для EmptyNode.
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.