Pytania oznaczone «null»

Null to brak wartości. Wartość null jest zwykle używana do wskazania, że ​​zmienna odwołania lub wskaźnika nie wskazuje na żaden obiekt w pamięci.

161
Czy zerowe referencje są naprawdę złe?

Słyszałem, że powiedzenie, że włączenie zerowych referencji w językach programowania jest „błędem miliarda dolarów”. Ale dlaczego? Jasne, mogą powodować wyjątki NullReference, ale co z tego? Każdy element języka może być źródłem błędów, jeśli zostanie użyty nieprawidłowo. A jaka jest alternatywa?...

72
SQL: pusty ciąg vs NULL

Wiem, że ten temat jest nieco kontrowersyjny i po Internecie płynie wiele różnych artykułów / opinii. Niestety większość z nich zakłada, że ​​osoba nie wie, jaka jest różnica między NULL a pustym ciągiem. Opowiadają więc historie o zaskakujących wynikach z łączeniami / agregacjami i generalnie...

71
W jaki sposób nazwisko Null powoduje problemy w wielu bazach danych?

Przeczytałem artykuł o BBC. Jednym z podanych przez nich przykładów jest to, że osoby o nazwisku „Null” mają problemy z wprowadzeniem swoich danych na niektórych stronach internetowych. Nie podano wyjaśnienia dotyczącego napotkanego błędu. Ale o ile wiem, ciąg „Null” i faktyczna wartość Null...

59
Jak wyjaśnić różnicę między wartością NULL a wartością zero?

Praca nad problemem wykorzystującym formułę zmiany procentowej: percent change = 100 * [(new value - old value) / old value] Jak wyjaśniłbym tę różnicę new value or old value = NULL, zamiast 0komuś, kto może nie być programistą? Mój szef zastanawia się, dlaczego w TextBoxie jest pusty ciąg...

30
Czy powinienem zweryfikować wartość zwracaną wywołania metody, nawet jeśli wiem, że metoda nie może zwrócić złych danych wejściowych?

Zastanawiam się, czy powinienem bronić się przed wartością zwracaną wywołania metody, sprawdzając, czy spełniają one moje oczekiwania, nawet jeśli wiem, że metoda, którą wywołuję, spełni takie oczekiwania. DANY User getUser(Int id) { User temp = new User(id); temp.setName("John"); return...

29
Dlaczego większość „dobrze znanych” języków imperatywnych / OO umożliwia niekontrolowany dostęp do typów, które mogą reprezentować wartość „nic”?

Czytałem o (nie) wygodzie posiadania nullzamiast (na przykład) Maybe. Po przeczytaniu tego artykułu , jestem przekonany, że byłoby znacznie lepiej do użytkuMaybe (lub coś podobnego). Jestem jednak zaskoczony, widząc, że wszystkie „dobrze znane” imperatywne lub obiektowe języki programowania nadal...

27
Jak pomaga zgłoszenie wyjątku ArgumentNullException?

Powiedzmy, że mam metodę: public void DoSomething(ISomeInterface someObject) { if(someObject == null) throw new ArgumentNullException("someObject"); someObject.DoThisOrThat(); } Nauczono mnie wierzyć, że rzucanie ArgumentNullExceptionjest „poprawne”, ale błąd „Odwołanie do obiektu nie jest...

27
wskaźniki zerowe a wzorzec zerowy obiektu

Uznanie autorstwa: Wynikało to z powiązanego pytania P.SE Moje doświadczenie jest w C / C ++, ale pracowałem sporo w Javie i obecnie koduję C #. Ze względu na moje tło C sprawdzanie wskaźników zakończonych i zwróconych jest używane, ale potwierdzam, że podważam mój punkt widzenia. Niedawno...

22
Czy typy zerowalne są lepsze od magicznych liczb?

Ostatnio dyskutuję z pewnym współpracownikiem. Używamy C #, ale może to dotyczyć dowolnego języka z typami zerowalnymi. Powiedzmy na przykład, że masz wartość reprezentującą maksimum. Jednak ta maksymalna wartość jest opcjonalna. Twierdzę, że preferowana byłaby liczba zerowa. Mój współpracownik...

21
Co to znaczy „zerować” w C lub C ++?

Uczę się języka C ++ i trudno mi zrozumieć zero. W szczególności w samouczkach, które przeczytałem, wspomniano o „zerowym sprawdzaniu”, ale nie jestem pewien, co to oznacza ani dlaczego jest konieczne. Czym dokładnie jest zero? Co to znaczy „sprawdzić, czy nie ma nic”? Czy zawsze muszę sprawdzać,...