Null è l'assenza di un valore. Null viene in genere utilizzato per indicare che una variabile di riferimento o di puntatore punta a nessun oggetto in memoria.
Ho sentito dire che l'inclusione di riferimenti null nei linguaggi di programmazione è "l'errore di miliardi di dollari". Ma perché? Certo, possono causare NullReferenceExceptions, ma che importa? Qualsiasi elemento del linguaggio può essere fonte di errori se utilizzato in modo improprio. E qual è l'alternativa? Suppongo invece di dire questo: …
La scorsa settimana abbiamo discusso a fondo della gestione dei null nel livello di servizio della nostra applicazione. La domanda è nel contesto .NET, ma sarà la stessa in Java e in molte altre tecnologie. La domanda era: dovresti sempre verificare la presenza di valori null e far funzionare il …
Sono sicuro che i progettisti di linguaggi come Java o C # conoscessero problemi relativi all'esistenza di riferimenti null (vedi I riferimenti null sono davvero una cosa negativa? ). Anche l'implementazione di un tipo di opzione non è molto più complessa dei riferimenti null. Perché hanno deciso di includerlo comunque? …
So che questo argomento è un po 'controverso e ci sono molti articoli / opinioni fluttuanti su Internet. Sfortunatamente, la maggior parte di loro presume che la persona non sappia quale sia la differenza tra NULL e stringa vuota. Quindi raccontano storie di risultati sorprendenti con join / aggregati e …
Ho letto un articolo sulla BBC. Uno degli esempi che hanno detto è che le persone con cognome "Null" hanno problemi con l'inserimento dei loro dettagli in alcuni siti Web. Non viene fornita alcuna spiegazione sull'errore che devono affrontare. Ma per quanto ne so la stringa "Null" e il valore …
Lavorando su un problema che utilizza la formula di variazione percentuale: percent change = 100 * [(new value - old value) / old value] Come spiegherei la differenza se new value or old value = NULL, piuttosto che 0a qualcuno che potrebbe non essere un programmatore? Il mio capo si …
Eric Lippert ha fatto un punto molto interessante nella sua discussione sul perché C # usa un tipo nullpiuttosto che un Maybe<T>tipo : La coerenza del sistema di tipi è importante; possiamo sempre sapere che un riferimento non annullabile non è mai stato ritenuto non valido in nessuna circostanza? Che …
Ad esempio, supponiamo che io abbia una classe Member, che ha un lastChangePasswordTime: class Member{ . . . constructor(){ this.lastChangePasswordTime=null, } } il cui lastChangePasswordTime può essere assente in modo significativo, poiché alcuni membri potrebbero non modificare mai le proprie password. Ma secondo Se i null sono cattivi, cosa dovrebbe …
Voglio conoscere valori nulli o riferimenti null. Ad esempio ho una classe chiamata Apple e ne ho creato un'istanza. Apple myApple = new Apple("yummy"); // The data is stored in memory Poi ho mangiato quella mela e ora deve essere nulla, quindi l'ho impostata come nulla. myApple = null; Dopo …
Stiamo avviando un sistema e talvolta riceviamo la famosa eccezione NullReferenceExceptioncon il messaggio Object reference not set to an instance of an object. Tuttavia, in un metodo in cui abbiamo quasi 20 oggetti, con un registro che dice che un oggetto è nullo, non è affatto utile. È come dirti, …
Mi chiedo se dovrei difendermi dal valore di ritorno di una chiamata di metodo confermando che soddisfano le mie aspettative anche se so che il metodo che sto chiamando soddisferà tali aspettative. DATO User getUser(Int id) { User temp = new User(id); temp.setName("John"); return temp; } DOVREI void myMethod() { …
Ho letto della (non) comodità di avere nullinvece (per esempio) Maybe. Dopo aver letto questo articolo , sono convinto che sarebbe molto meglio usareMaybe (o qualcosa di simile). Tuttavia, sono sorpreso di vedere che tutti i linguaggi di programmazione imperativi o orientati agli oggetti "ben noti" continuano a essere utilizzati …
Attribuzione: nasce da una domanda P.SE correlata Il mio background è in C / C ++, ma ho lavorato parecchio in Java e attualmente sto codificando C #. A causa del mio background C, il controllo dei puntatori passati e restituiti è di seconda mano, ma riconosco che distorce il …
Diciamo che ho un metodo: public void DoSomething(ISomeInterface someObject) { if(someObject == null) throw new ArgumentNullException("someObject"); someObject.DoThisOrThat(); } Sono stato addestrato a credere che il lancio ArgumentNullExceptiondell'errore sia "corretto" ma un errore "Riferimento oggetto non impostato su un'istanza di un oggetto" significa che ho un bug. Perché? So che se …
Questa è una delle regole che si ripetono ripetutamente e che mi sconcerta. I nullità sono malvagi e dovrebbero essere evitati quando possibile . Ma, ma - per mia ingenuità, fammi urlare - a volte un valore può essere significativamente assente! Per favore, lasciatemi fare una domanda su un esempio …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.