Компьютер зависает из-за ошибки обработки в Visual Studio

Я столкнулся с довольно странной проблемой при написании кода на C#. У меня есть следующие классы:

  • Класс узла:

    class Node
    {
        public char value;
        public Node left;
        public Node right;
    
        public Node(char _value)
        {
            value = _value;
            left = null;
            right = null;
        }
    }
    
  • Класс дерева:

    class Tree
    {
        private Node root;
    
        public Tree(Node _root)
        {
            root = _root;
        }
    
        public void Inorder(Node root)
        {
            Inorder(root.left);
            Console.WriteLine(root.value);
            Inorder(root.right);
        }
    }
    
  • В Main я написал что-то вроде:

       Node n1 = new Node('a');
       Tree tree = new Tree(n1);
       tree.Inorder(n1);
    

В консоли на короткое время появляется необработанное исключение, затем мой компьютер падает, и появляется "синий экран смерти" со следующей информацией:

  • Стоп код: KMODE_EXCEPTION_NOT_HANDLED
  • Что не удалось: clipsp.sys

Когда я пытаюсь открыть мой основной файл после перезагрузки компьютера, он содержит следующее:

    <?xml version="1.0" encoding="utf-8"?>
    <Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Mi

Теперь я знаю, что мой код неправильный (есть необработанное исключение null, потому что он пытается найти левого потомка "нулевого" узла), но я почти уверен, что мой компьютер не должен вести себя так.

Я отключил функцию быстрого запуска, так как нашел ее в Интернете, но она все еще дает сбой. Если кто-то знает, где проблема, я был бы благодарен.

0 ответов

Другие вопросы по тегам