‫Ben tornato.
‫In questo video, esamineremo i romanzi e i romanzi sono un concetto che si vede in altri linguaggi di
‫programmazione.
‫Ad esempio, Swift li usa abbastanza ampiamente e lì sono chiamati opzionali.
‫Quindi sono variabili che possono avere un valore o non hanno un valore.
‫Quindi ci sono due opzioni, giusto.
‫Quindi o qualcosa ha un valore o non ha valore, e di solito è adesso o no.
‫Quindi creiamone alcuni.
‫E a proposito, è un tipo di dati, quindi il tipo di dati può essere vuoto o meno.
‫E di solito è come nullable, come puoi vedere qui, e nullable di tipo INT 32, per esempio.
‫Quindi in genere è così che scrivi come lo scriveresti.
‫Sarebbe un nullable in 32.
‫Quindi un valore che può avere valori da meno due miliardi, all'incirca fino a più due miliardi.
‫Quindi andiamo avanti e creiamoli.
‫Quindi, per creare un romanzo, basta aggiungere un punto interrogativo dopo quel tipo di dati.
‫Quindi, se vuoi avere un numero intero annullabile, come ho appena scritto, userai solo il punto
‫interrogativo e chiamerò quel numero uno e sarà nullo.
‫Creiamone un altro che chiamo numero due e l'ho detto nullo.
‫E come puoi vedere, qui otteniamo un errore.
‫Quindi si lamenta.
‫Dice che non è possibile convertire la parola ora in INT perché non lo è o è un tipo di valore non annullabile.
‫Quindi non puoi assegnare null a un numero intero.
‫Questo è quello che dici vedi qui.
‫Ma puoi assegnare null a un intero nullable, cosa che abbiamo fatto in una riga nove.
‫Tutto bene.
‫Quindi creiamone un altro e quello sarà il numero due e sarà uno tre tre
‫sette milletrecentotrentasette.
‫È così che andresti avanti e crei un album.
‫Quando vedi che è null o ha un valore.
‫Lo stesso vale per i doppi.
‫Quindi doppio punto interrogativo.
‫Il numero tre è un nuovo doppio e un punto interrogativo del genere.
‫Quindi è anche così che puoi assegnare un double nullable.
‫Quindi questo sarà vuoto o qui il numero quattro è tre virgola uno quattro uno cinque sette.
‫Quindi questo è PI e lo stesso vale per i booleani.
‫Quindi è un bu nullable e dirò che Movil è un nuovo punto
‫interrogativo bool come quello.
‫Quindi diamo un'occhiata, mostriamolo sullo schermo e vediamo cosa otteniamo.
‫Quindi s. W. , i nostri numeri annullabili sono e useremo zero uno.
‫Due più tre, e questo sarà il numero uno, il numero due, tre e quattro, e ovviamente si lamenta perché devo terminare
‫la mia sequenza qui.
‫Tutto bene.
‫E mostriamo anche il nostro toro.
‫Quindi, s. W. , il valore booleano annullabile è e il bull volle okeydokey.
‫Quindi proviamo con quel controllo cinque.
‫E i nostri numeri annullabili sono, come puoi vedere, niente.
‫Quindi non è nemmeno uno spazio vuoto.
‫Non è niente.
‫Uno tre tre sette niente e tre uno quattro uno cinque sette.
‫E il valore booleano nullable è niente.
‫Quindi, come puoi vedere, non può essere niente e non è lamentarsi.
‫Quindi, anche se non c'è alcun valore, va comunque bene.
‫Non sta mandando in crash il nostro programma o cose del genere.
‫Se proverai a fare la stessa cosa con un numero intero, che non è malleabile.
‫Quindi creiamo un intero chiamato numero cinque e facciamo così.
‫Quindi non l'abbiamo inizializzato.
‫Ed è anche vuoto, giusto?
‫Quindi non c'è valore lì dentro.
‫Se ho provato ad accedere a quello in quel modo e userò il numero cinque qui, smettiamola di farlo.
‫Controllo di cinque.
‫E come puoi vedere, abbiamo un errore di compilazione.
‫Quindi non possiamo nemmeno fermarlo perché dice l'uso della variabile locale numero cinque non assegnata.
‫Quindi è questo il punto.
‫Crei una variabile che può essere vuota o non può essere vuota.
‫E questo va benissimo con il programma.
‫Non si schianterà.
‫E perché lo useresti, quale sarebbe l'idea dietro Nullable?
‫Bene, immagina di avere un programma che funziona con un sacco di dati, quindi ha i dati dell'utente e li ottiene dal
‫database.
‫E per alcuni valori o per alcune colonne, semplicemente non ci sono voci.
‫Quindi diciamo che abbiamo nomi utente, abbiamo nome personale o nome, cognome, quindi abbiamo compleanno e così
‫via.
‫Tutte queste informazioni possono essere archiviate nel nostro database.
‫Ma per la maggior parte degli utenti, abbiamo solo il nome utente.
‫Non abbiamo il loro nome, cognome, non abbiamo la password, il loro indirizzo email, niente del
‫genere.
‫Abbiamo solo il nome utente e vogliamo ancora che il nostro programma funzioni correttamente.
‫Quindi useremo solo multipli che vanno bene.
‫Se non c'è valore, non faranno il nostro programma Kresh.
‫Quindi facciamone un esempio molto, molto generico.
‫E userò un bool qui, che sarà un esperto e lo chiamerò mail e lo imposterò su
‫null e qui controllerò solo la posta.
‫È nullo o in realtà è vero.
‫Quindi se è vero.
‫Giusto.
‫Qualcosa come l'utente è posta, altrimenti se la posta è falsa dirò qualcosa come l'utente è femmina.
‫E poi alla fine diciamo semplicemente qualcosa come nessun genere scelto o forse qualcosa come nessun genere potrebbe essere trovato o qualcosa
‫del genere.
‫E questo lo siamo.
‫Quindi ora puoi andare avanti e usare quel tipo di approccio.
‫Destra.
‫E lo inseriremo nella riga successiva.
‫E se lo gestiamo bene, ovviamente, non otteniamo alcun genere di scelta, e nel mio caso, il mio
‫programma si chiuderà subito dopo che lo dice e lo faccio ancora.
‫Un errore da qualche parte e, beh, come potrei capirlo?
‫Bene, è questo qui.
‫Quindi ho ancora questi quattro nel mio testo e sta cercando di accedervi.
‫Ma c'è qualcosa che manca, ecco perché non funziona.
‫Tutto bene.
‫Ora possiamo provare a prendere il controllo alle cinque.
‫E noi siamo i nostri numeri annullabili sono che va benissimo.
‫E poi qui, nessuna scelta di genere.
‫Va bene, va tutto bene e cose del genere, ma cosa succede se si desidera convertire un tipo nullable in un tipo non
‫nullable?
‫Bene, andiamo avanti e proviamolo.
‫Creiamo qui una bolla nullable.
‫Chiamiamo il numero cinque, e sarà tredici virgola uno e poi raddoppio, chiamiamolo numero sei, perché qui abbiamo questo
‫numero cinque, che non abbiamo mai usato.
‫Ma lo lascerò lì.
‫Non fa male a nessuno.
‫Quindi il numero sette sarà adesso.
‫Quindi, come posso convertirli in un tipo non annullabile?
‫E creerò il numero otto, che sarà un doppio annullabile.
‫Quindi è un doppio generale, giusto?
‫Non può essere ora o non possiamo assegnargli nulla.
‫E ora controlliamo solo se num sei è uguale ora, quindi il numero otto sarà zero virgola zero e altrimenti dirà solo
‫no.
‫Otto dovrebbe essere il numero quattro e sei sei.
‫Ma lì abbiamo il problema perché come puoi vedere, lasciami aggiungere a questo, non posso semplicemente assegnarlo.
‫Dice che non è possibile convertire implicitamente il tipo double questionmark per raddoppiare una conversione esplicita.
‫Quindi mi manca un cast ed è quello che dobbiamo fare.
‫Quindi dobbiamo trasformarlo in un doppio perché abbiamo bisogno di sapere se non è ora, quindi il numero sei internamente è un
‫doppio.
‫Quindi contiene un valore doppio.
‫Quindi lo userò e lo assegnerò al numero otto, così possiamo andare avanti
‫e visualizzare che il valore di NUM otto è nove otto.
‫Quindi iniziamo con il controllo cinque.
‫E come puoi vedere, il valore del numero otto è tredici virgola uno.
‫Quindi il casting, la conversione esplicita ha funzionato.
‫C'è, tuttavia, un modo più veloce per farlo, quindi come puoi vedere, è stato uno sforzo notevole.
‫Avevamo bisogno di vedere se, a meno che non ci fosse l'operatore ora coalescente, che possiamo usare per questo.
‫Quindi possiamo solo dire che il numero otto è uguale al numero sei.
‫Punto interrogativo, punto interrogativo, otto virgola cinque tre, per esempio.
‫Quindi, se il numero sei è vuoto, vai avanti e aggiungi o inserisci otto virgola cinque tre e, in caso
‫contrario, fai qualcos'altro.
‫Quello che farò è aggiungere un'altra riga e scrivere qualcosa come il valore di
‫NUM otto è.
‫E in realtà è solo una copia perché ne abbiamo bisogno due volte e non voglio scrivere così tanto così.
‫Ora, andiamo avanti e riproviamo e vediamo la differenza.
‫E come puoi vedere, il valore di nessuna età è tredici virgola uno, il valore del numero otto è tredici virgola uno
‫e il valore del numero otto è otto virgola cinque tre.
‫Allora cosa è successo qui?
‫Cosa è stato ignorato qui nella riga 50?
‫Perché diceva, beh, andava bene, gli ho assegnato otto virgola cinque tre, ma a quanto pare, numero
‫sei.
‫Aveva un valore ed è stato preso così come mamma sei aveva un valore, ha preso solo tredici virgola uno e siccome NUM sette non aveva un valore,
‫nessuno fatto ora è otto virgola cinque tre, perché se lo guardiamo ora, sette è
‫zero.
‫Quindi gli assegniamo un valore diverso.
‫Così si chiama.
‫Sto solo andando.
‫Copialo per te, l'operatore ora in coalescenza, doppio punto interrogativo.
‫Quindi, se si desidera convertire da un tipo annunciabile a un tipo non annullabile, è possibile utilizzare l'operatore di coalescenza di
‫Tindell.