Je lis le kit de formation MCTS auto-rythmé (70-536) Édition 2 et dans le 1er chapitre, nous avons ce qui suit.C# Initialisation des variables locales - Question du débutant
Comment déclarer un type de valeur variable Pour utiliser un type, vous devez d'abord déclarer un symbole comme une instance de ce type. Les types de valeur ont un constructeur implicite, donc les déclarer instancie le type automatiquement; vous ne devez pas inclure le nouveau mot clé comme vous le faites avec les classes. Le constructeur attribue une valeur par défaut (généralement nulle ou 0) à la nouvelle par exemple, mais vous devez toujours initialiser explicitement la variable dans la déclaration, comme le montre le bloc de code suivant:
'VB
Dim b As Boolean = False
// C#
bool b = false;
Cependant, quand je compile les éléments suivants Console application,
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();
}
}
}
j'obtiens l'erreur compilation
"Utilisation de la variable locale Unassigned b"
Il est même pas mentionné dans le Errata. Est-ce que je fais quelque chose de mal ou le livre est-il complètement faux?
Merci pour la clarification. Ainsi, comme le souligne Nick, les variables locales sont * initialisées * mais ne peuvent pas être * utilisées * jusqu'à ce que nous lui assignions explicitement une nouvelle valeur. Correct? – Kanini
Non, ils ne sont pas initialisés automatiquement. C'est pourquoi vous devez ** les initialiser vous-même. Seuls les champs de classe sont automatiquement initialisés pour vous. @Nick parle des champs de classe. –