[ Nedeljko @ 24.12.2004. 00:20 ] @
Kako se u jeziku C# može proveriti da li je objektu referencnog tipa dodeljena vrednost ili ima vrednost null? Treba mi kod dinamičkih struktura za izlazni kriterijum iz metoda. |
[ Nedeljko @ 24.12.2004. 00:20 ] @
[ ZokiR @ 24.12.2004. 01:27 ] @
Code: if (myObject == null) { ... } else { ... } [ Nedeljko @ 24.12.2004. 14:18 ] @
To sam i ja probao, ali mi prijavljuje grešku da koristim vrednost koja još nije dodeljena (tj. da kršim pravilo sigurne dodele). Može li da se navede neki primer koji je prethodno testiran i radi?
[ jablan @ 24.12.2004. 14:27 ] @
Code: using System; namespace ConsoleApplication1 { class Class1 { [STAThread] static void Main(string[] args) { object i = null; if (i == null) Console.WriteLine("Jeste null"); Console.ReadLine(); } } } [ Java Beograd @ 24.12.2004. 14:39 ] @
Ako promenljivu myObject deklarises lokalno, tj. na nivou funkcije, compajler 'zna' da li je promenljivoj dodata vrednost. I ako nije, prijavi gresku:
Use of unassigned local variable ... Ali ako je promenljiva deklarisana na nivou objekta, onda ovo prolazi u kompajleru, a sam if se 'ponasa' taman kako treba. [ Nedeljko @ 25.12.2004. 00:16 ] @
Otkrio sam u čemu je problem. Kod koji je ovde priložen radi. Međutim, kada se linija
Code: object i = null; zameni linijom Code: object i; dobija se sintaksna greška pri prevođenju. Pravilo sigurne dodele zahteva da bar nekakva vrednost promenljivoj i bude dodeljena, pa makr to bila i vrednost null. Hvala na pomoći. Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|