J'ai couru dans le présent d'aujourd'hui et n'ai aucune idée pourquoi le compilateur C# n'est pas de lancer une erreur.
Int32 x = 1;
if (x == null)
{
Console.WriteLine("What the?");
}
Je suis confus quant à la façon dont x pouvaient être null. Surtout depuis que cette cession certainement renvoie une erreur de compilateur:
Int32 x = null;
Est-il possible que x pourrait devenir nulle, n'a Microsoft vient de décider de ne pas mettre cette case dans le compilateur, ou a été, il a complètement raté?
Mise à jour: Après avoir jouer avec le code à écrire cet article, tout à coup le compilateur est venu avec un message d'avertissement que l'expression ne sera jamais vrai. Maintenant, je suis vraiment perdu. J'ai mis l'objet dans une classe et maintenant l'avertissement a disparu, mais la gauche avec la question, un type de valeur à la fin null.
public class Test
{
public DateTime ADate = DateTime.Now;
public Test ()
{
Test test = new Test();
if (test.ADate == null)
{
Console.WriteLine("What the?");
}
}
}