‫Content de te revoir.
‫Dans cette vidéo, nous allons examiner les romans et les romans sont un concept que vous voyez dans d'autres langages de
‫programmation.
‫Par exemple, Swift les utilise assez largement et là, ils sont appelés optionnels.
‫Ce sont donc des variables qui peuvent avoir une valeur ou qui n'ont pas de valeur.
‫Donc, il y a deux options, à droite.
‫Donc soit quelque chose a une valeur ou n'en a pas, et généralement c'est maintenant ou pas.
‫Alors créons-en.
‫Et au fait, c'est un type de données, donc le type de données peut être vide ou non.
‫Et généralement, c'est comme nullable, comme vous pouvez le voir ici, et nullable de type INT 32, par exemple.
‫C'est donc généralement ainsi que vous écrivez comme vous l'écririez.
‫Ce serait un nullable en 32.
‫Donc, une valeur qui peut avoir des valeurs de moins deux milliards, à peu près jusqu'à plus deux milliards.
‫Alors allons-y et créons-les.
‫Ainsi, pour créer un roman, il vous suffit d'ajouter un point d'interrogation après ce type de données.
‫Donc, si vous voulez qu'un entier puisse être nul, comme je viens de l'écrire, vous utiliserez simplement un point d'interrogation et
‫je vais simplement appeler ce numéro un et il sera nul.
‫Créons-en un autre que j'appelle le numéro deux et que j'ai dit à null.
‫Et comme vous pouvez le voir, nous obtenons une erreur ici.
‫Alors c'est se plaindre.
‫Il dit ne peut pas convertir le mot maintenant en INT car ce n'est pas ou un type de valeur non nullable.
‫Vous ne pouvez donc pas affecter null à un entier.
‫C'est ce que vous dites voir ici.
‫Mais vous pouvez affecter null à un entier nullable, ce que nous avons fait à la ligne neuf.
‫D'accord.
‫Alors créons-en un autre et ce sera le numéro deux et ce sera un trois trois sept mille trois
‫cent trente sept.
‫C'est comme ça qu'on ira de l'avant et qu'on créera un album.
‫Lorsque vous voyez, c'est soit nul, soit il a une valeur.
‫Idem pour les doubles.
‫Donc double point d'interrogation.
‫Le numéro trois est un nouveau double et un point d'interrogation comme ça.
‫C'est donc également ainsi que vous pouvez affecter un double nullable.
‫Donc celui-ci sera vide ou ici le numéro quatre est trois virgule un quatre un cinq sept.
‫C'est donc PI et il en va de même pour les booléens.
‫C'est donc un bu nullable et je vais dire que Movil est un nouveau point
‫d'interrogation bool comme ça.
‫Voyons donc cela, affichons-le simplement à l'écran et voyons ce que nous obtenons.
‫Alors S. W. , nos nombres nullables sont et nous allons utiliser zéro un.
‫Deux et trois, et ce sera le numéro un, le numéro deux, trois et quatre, et bien sûr, je me plains parce que je
‫dois terminer ma chaîne ici.
‫D'accord.
‫Et montrons aussi notre taureau.
‫Ainsi, S. W. , la valeur booléenne nullable est et le taureau volle okeydokey.
‫Essayons donc ce contrôle cinq.
‫Et nos nombres nuls ne sont, comme vous pouvez le voir, rien.
‫Ce n'est donc même pas un espace vide.
‫C'est juste rien.
‫Un trois trois sept rien et trois un quatre un cinq sept.
‫Et la valeur booléenne nullable n'est rien.
‫Donc, comme vous pouvez le voir, ce ne peut être rien et ce n'est pas se plaindre.
‫Donc, même s'il n'y a aucune valeur là-dedans, ça va quand même.
‫Cela ne fait pas planter notre programme ou des trucs comme ça.
‫Si vous essayez de faire la même chose avec un entier, qui n'est pas malléable.
‫Créons donc un entier appelé numéro cinq et faisons-le comme ça.
‫Nous ne l'avons donc pas initialisé.
‫Et c'est aussi vide, non ?
‫Il n'y a donc aucune valeur là-dedans.
‫Si j'ai essayé d'accéder à celui-ci comme ça et que je vais utiliser le numéro cinq ici, éliminons cela.
‫Contrôle de cinq.
‫Et comme vous pouvez le voir, nous avons une erreur de construction.
‫Nous ne pouvons donc même pas arrêter cela, car cela indique l'utilisation de la variable locale non affectée numéro cinq.
‫C'est donc tout l'intérêt à ce sujet.
‫Vous créez une variable qui peut être vide ou elle ne peut pas être vide.
‫Et c'est tout à fait correct avec le programme.
‫Il ne plantera pas.
‫Et pourquoi utiliseriez-vous cela, quelle serait l'idée derrière Nullable ?
‫Eh bien, imaginez que vous avez un programme qui fonctionne avec des charges de données afin qu'il ait des données utilisateur et les récupère à partir de la base
‫de données.
‫Et pour certaines valeurs ou pour certaines colonnes, il n'y a tout simplement pas d'entrées.
‫Alors disons que nous avons des noms d'utilisateurs, nous avons un nom personnel ou un prénom, un nom de famille, puis nous avons une date d'anniversaire et ainsi
‫de suite.
‫Toutes ces informations peuvent être stockées dans notre base de données.
‫Mais pour la plupart des utilisateurs, nous n'avons que le nom d'utilisateur.
‫Nous n'avons pas leur nom, prénom, nous n'avons pas le mot de passe, leur adresse mail, rien de
‫tel.
‫Nous n'avons que le nom d'utilisateur et nous voulons toujours que notre programme fonctionne correctement.
‫Nous utiliserons donc simplement des multiples qui conviennent.
‫S'il n'y a pas de valeur, ils ne feront pas de notre programme Kresh.
‫Alors faisons-en un exemple très, très générique de cela.
‫Et je vais utiliser un bool ici, qui sera un bien informé et je vais l'appeler est mail et je vais le mettre
‫à null et ici je vais juste vérifier est mail.
‫Est-ce nul ou est-ce vrai.
‫Donc si c'est vrai.
‫C'est exact.
‫Quelque chose comme user is mail alors sinon si mail est faux, je vais dire quelque chose comme user is female.
‫Et puis finalement, nous disons simplement quelque chose comme aucun genre choisi ou peut-être quelque chose comme aucun genre ne pourrait être trouvé ou quelque
‫chose comme ça.
‫Et que nous sommes.
‫Alors maintenant, vous pouvez aller de l'avant et utiliser ce genre d'approche.
‫Droit.
‫Et nous allons le mettre dans la ligne suivante.
‫Et si nous fonctionnons bien, bien sûr, nous n'avons pas de sexe choisi, et dans mon cas,
‫mon programme s'arrêtera immédiatement après avoir dit cela et je l'ai toujours.
‫Une erreur quelque part et comment pourrais-je la résoudre ?
‫Eh bien, c'est celui-ci ici.
‫J'ai donc toujours ce quatre dans mon texte et il essaie d'y accéder.
‫Mais il manque quelque chose, c'est pourquoi cela ne fonctionne pas.
‫D'accord.
‫Maintenant, nous pouvons essayer de prendre le contrôle à cinq.
‫Et nous sommes nos nombres nuls, c'est très bien.
‫Et puis ici, pas de genre choisi.
‫D'accord, tout va bien, mais que se passe-t-il si vous voulez convertir un type nullable en un type non nullable
‫?
‫Eh bien, allons-y et essayons ça.
‫Créons ici une bulle annulable.
‫Appelons le numéro cinq, et ça va être treize virgule un, puis double en fait, appelons-le numéro six, parce que nous avons
‫ce numéro cinq ici, que nous n'avons jamais utilisé.
‫Mais je vais juste en rester là.
‫Cela ne fait de mal à personne.
‫Donc le numéro sept va être maintenant.
‫Alors, comment puis-je les convertir en un type non nullable ?
‫Et je vais créer le nombre huit, qui sera un double nul.
‫Alors, c'est un double général, n'est-ce pas ?
‫Cela ne peut pas être maintenant ou nous ne pouvons pas lui affecter null.
‫Et maintenant, nous vérifions simplement si num six est égal à maintenant, alors le numéro huit sera zéro virgule zéro et sinon va simplement dire
‫non.
‫Huit devrait être le numéro quatre et six six.
‫Mais là, nous avons le problème car comme vous pouvez le voir, permettez-moi d'ajouter à cela, je ne peux pas simplement l'attribuer.
‫Il dit ne peut pas convertir implicitement le type double questionmark en double une conversion explicite existe.
‫Il me manque donc un casting et c'est ce que nous devons faire.
‫Nous devons donc le transformer en double parce que nous devons savoir si ce n'est pas maintenant, alors le numéro six en interne est un
‫double.
‫Il contient donc une valeur double.
‫Je vais donc simplement l'utiliser et l'attribuer au numéro huit afin que nous puissions simplement aller
‫de l'avant et afficher cette valeur de NUM huit est neuf huit.
‫Commençons donc par le contrôle cinq.
‫Et comme vous pouvez le voir, la valeur du numéro huit est de treize virgule un.
‫Donc le casting, la conversion explicite a fonctionné.
‫Il existe cependant un moyen plus rapide de le faire, donc comme vous pouvez le voir, cela a demandé beaucoup d'efforts.
‫Nous devions voir si, à moins qu'il n'y ait l'opérateur maintenant en fusion que nous pouvons utiliser pour cela.
‫Nous pouvons donc simplement dire que le numéro huit est égal au numéro six.
‫Point d'interrogation, point d'interrogation, huit virgule cinq trois, par exemple.
‫Donc, si le numéro six est vide, alors continuez et ajoutez ou entrez huit virgule cinq trois, et sinon,
‫faites autre chose.
‫Ce que je vais faire, c'est ajouter une autre ligne et écrire quelque chose comme la
‫valeur de NUM huit.
‫Et en fait, il suffit de copier cela parce que nous en avons besoin deux fois et je ne veux pas tellement taper pour que nous le
‫soyons.
‫Maintenant, allons de l'avant et essayons à nouveau et voyons la différence.
‫Et comme vous pouvez le voir, la valeur sans âge est de treize virgule un, la valeur du nombre huit est de treize virgule
‫un et la valeur du nombre huit est de huit virgule cinq trois.
‫Alors que s'est-il passé ici ?
‫Qu'est-ce qui a été ignoré ici à la ligne 50 ?
‫Parce qu'il disait, eh bien, c'était bien, je lui ai attribué huit virgule cinq trois, mais comme il semble, le numéro
‫six.
‫Avait une valeur et il a été pris comme maman six avait une valeur, a juste pris un treize virgule un et comme NUM sept n'avait pas de valeur, aucun
‫fait maintenant n'est huit virgule cinq trois, parce que si nous le regardons maintenant, sept est
‫nul.
‫Nous lui attribuons donc une valeur différente.
‫Alors ça s'appelle.
‫Je vais juste.
‫Copiez-le pour vous, l'opérateur maintenant en fusion, double point d'interrogation.
‫Donc, si vous souhaitez convertir d'un type pouvant être annoncé à un type non nullable, vous pouvez utiliser l'opérateur de fusion
‫Tindell.