Почему локальные переменные C # должны быть инициализированы?

Я читаю MCTS Self Paced Training Kit (70-536), издание 2, и в 1-й главе у нас есть следующее.

Как объявить переменную типа значения

Я читаю MCTS Self Paced Training Kit (70-536), издание 2, и в 1-й главе у нас есть следующее.

Как объявить переменную типа значения

Я читаю MCTS Self Paced Training Kit (70-536), издание 2, и в 1-й главе у нас есть следующее.

Как объявить переменную типа значения Чтобы использовать тип, вы должны сначала объявить символ как экземпляр этого типа. Типы значений имеют неявное конструктор, поэтому объявив их автоматически создает экземпляр типа; вам не нужно включать новый ключевое слово, как и с классами. В конструктор присваивает значение по умолчанию (обычно ноль или 0) к новому например, но вы всегда должны явно инициализировать переменную внутри объявления, как показано на следующий блок кода:

'VB

Dim b As Boolean = False    

// C#  
bool b = false;

Однако, когда я компилирую следующее консольное приложение,

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Ch1_70_536
{
    class Program
    {
        static void Main(string[] args)
        {
            bool b;
            Console.WriteLine("The value of b is " + b);
            Console.ReadKey();
        }
    }
}

я получаю ошибку времени компиляции

«Использование неназначенной локальной переменной b»

Это даже не упоминается в Errata . Я что-то делаю не так или книга совершенно неправильная?

5
задан Olivier Rogier 12 November 2019 в 08:11
поделиться