Je me suis toujours demandé pourquoi, dans l'exemple suivant, il est acceptable de no initialiser le champ d'instance (en tenant compte du fait qu'il aura sa valeur par défaut) et y accéder, tandis que les variables locales apparemment debe être initialisé, même si je l'initialise à la valeur par défaut, il sera de toute façon...
public class TestClass
{
private bool a;
public void Do()
{
bool b; // That would solve the problem: = false;
Console.WriteLine(a);
Console.WriteLine(b); //Use of unassigned local variable 'b'
}
}