[ 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.
[ 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.