Employer le littéral ‘null’ avec Unity ?

Pourquoi le litteral « null » ne fonctionne pas ?

Le mot clé null est un littéral qui représente une référence null, c’est-à-dire qui ne fait pas référence à un objet. null est la valeur par défaut des variables de type référence. Les types valeur ordinaires ne peuvent pas être Null. Enfin ce n’est pas tout a fait vrai , il existe aussi types valeur Nullable. Consultez Types Nullable.

Si l’on veut faire simple « null » s’applique en rêgle générale aux objets et non aux variables.

int x;

void Start()
{
if (x == null) Debug.Log("x est null");
}

Quand vous déclarez une variable et que vous ne luis assignez aucune valeur, elle n’est pas null , C# attribue une valeur par défaut selon les différents types.

La valeur par défaut dans l’exemple ci dessus sera la valeur 0 (voir la documentation)

Donc vous l’aurez compris x n’est pas null, il à bien une valeur qui est 0 ! pour preuve :

int x;

void Start()
{
Debug.Log("La valeur de x est de " + x);
}

La réponse de la console :

Quand utiliser le litteral « null » ?

Je vous ai dit plus haut : « Le mot clé null est un littéral qui représente une référence null, c’est-à-dire qui ne fait pas référence à un objet. null est la valeur par défaut des variables de type référence »

Pour simplifier le mot clé « null » fait référence à un objet sans valeur.

GameObject obj;

void Start()
{
if (obj == null) Debug.Log("Obj est null");
}

Message de la console :

En effet, nous avons déclaré un GameObject mais aucune valeur ne lui ai assigné. Il est donc null !

L’erreur qui est souvent commise est de faire l’ amalgame entre null et 0(zéro) :

int[] tableau1;
int[] tableau2 = new int[10];

void Start()
{
if (tableau1 == null)
{
Debug.Log("Le tableau1 est null");
}

if(tableau2[0]==0)
{
Debug.Log("L'index 0 du tableau2 a pour valeur zero");
}

}

Message de la console :

  • Le tableau1 à était déclaré mais pas initialisé, aucun type ni aucune longueur n’ont étaient définit. il renvoi bien la valeur null.
  • Le tableau2 à était initialisé, il n’est pas null, les 10 éléments contenus dans ce tableau  possèdent une valeur par défaut.

A propos de upln 197 Articles
En informatique le problème se situe souvent entre la chaise et le clavier !

Soyez le premier à commenter

Poster un Commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.