2013-04-14 2 views
-1

J'ai un int. Je veux définir sa valeur à null donc je fais ce qui suit:La définition de la valeur null pour la valeur par défaut ne la rend pas nulle

int? X; 
X = 1; 
X = default(int?); 

Il conserve l'ancienne valeur de 1 au lieu de mettre X à null.

Comment résoudre ce problème?

+3

Votre code fonctionne très bien. S'il vous plaît nous montrer un exemple _complete_ standalone. – SLaks

+0

Et pourquoi ne diriez-vous pas simplement «X = null» qui est légal et plus idiomatique? – SAJ14SAJ

Répondre

2

Non, il ne tient pas la valeur 1, la variable obtient la valeur null:

using System; 

class Program { 

    static void Main() { 

    int? X; 
    X = 1; 
    X = default(int?); 

    Console.WriteLine(X.HasValue); 

    } 

} 

Sortie:

False 
Questions connexes