List(),dodawanie zmiennej jako null

0

Cześć wszystkim. Krótkie pytanie: Do listy dodaję rekord(stringi, zmienne typu int), jak dodać pustą wartość w miejscu gdzie jako parametr podaję zmienną typu int? Dla stringu nie ma problemu - po prostu piszę "" i wszystko działa.

Przykład:

Tabela.Add(new ClassProject() { _ItemID = "_N", _pusta_zmienna_typu_string="", _pusta_zmienna_typu_int=?? });

Dodam, że próbowałem uzyskać potrzebny efekt, przy pomocy parametru "null", ale nie jest to właściwe rozwiązanie. Wstawianie 0, symbolizującego brak parametru też nie za bardzo rozwiązuje problem(w ogóle go nie rozwiązuje;) )

Dziękuję za pomoc.

0

Czemu null jest złym rozwiązaniem ? Sam mówisz, że ma być to pusta wartość. Możesz ustawić np. -1, jeśli wiesz, że to nie jest "poprawna wartość". Ewentualnie dołóż pole boolean, które - gdy będzie true - oznaczać będzie, że wartość tego int'a jest "nieznana".

0

przy deklaracji wystarczy napisać int? i późnij będziesz mógł ją zainicjować null-em

int? _pusta_zmienna_typu_int;
0

jeśli ma to być lista nullowalnych intów, to List<int?>. ale trzeba się 10 razy zastanowić, czy na pewno jest to nam potrzebne, bo ? albo Nullable powoduje boxowanie wartości (czytaj: działa wolniej i zajmuje więcej pamięci niż zwykły int).

potrzeba wartości null w integerze sugeruje problem z projektem ;-)

0

Hmm, moja potrzeba wstawienia "niczego" w miejsce zmiennej int wynika z tego, że jak się domyślacie, następnym krokiem jest wyświetlenie zawartości Listy w DataViewGrid'zie.

Zależy mi na tym, aby w pewnych przypadkach nie uzupełniać każdej komórki jakąś wartością. Dlatego _pusta_zmienna_typu_string="", jako pusty ciąg rozwiązuje problem, zaś _pusta_zmienna_typu_int = 0; (lub ewentulanie -1) już nie do końca jest satysfakcjonująca, bo de facto wstawia wartość 0/-1, zamiast pozostawić komórkę pustą.

Najlepszym wyjściem byłoby przekonwertowanie pustego stringa do liczby, co niestety(albo na szczęście ;) ) jest niemożliwe.

0

No cóż, widać źle zaplanowany projekt ;)

0
Azarien napisał(a)

potrzeba wartości null w integerze sugeruje problem z projektem ;-)

Dlaczego?
Ja np. pisałem ostatnio program, w którym jedna klasa ma praktycznie tylko właściwości typu int? i double?. Przechowywane są w nich różne wartości pomiarów, które w danym czasie mogły, ale nie musiały wystąpić. null jest na pewno lepszy niż jakiś magic number.

1 użytkowników online, w tym zalogowanych: 0, gości: 1