Kezdőoldal » Számítástechnika » Programozás » C#-ban van-e olyan parancs,...

C#-ban van-e olyan parancs, ami azt vizsgálja, hogy egy tömb adott helye üres-e?

Figyelt kérdés

2017. jan. 2. 18:37
 1/4 anonim ***** válasza:
41%
(tömb[i] == ÜRES_DEFINÍCIÓJA)
2017. jan. 2. 18:39
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:

Ha üres alatt azt érted, hogy nincs meghatározott értéke, azaz még memória sincs neki foglalva, akkor ez kell neked, ha a 42-es indexre vizsgálsz.


if(tomb[42]==null){

// Üres

}

2017. jan. 2. 18:45
Hasznos számodra ez a válasz?
 3/4 A kérdező kommentje:
Köszönöm!
2017. jan. 2. 18:54
 4/4 anonim ***** válasza:

A null checknek akkor van csak értelme, ha a tömb referencia típusú objektumokból áll, számok esetén nem nagyon van értelme.


Hatásosabb, ha a default(T)-t használod, ahol T a tömb típusa, azaz int esetén default(int). Persze arra ügyelned, hogy az index amire hivatkozol, a tömb méretén belülre mutasson, különben futásidejű kivételt fog dobni a program.


default használata:

int[] t = new int[10];

if(t[5] == default(int)){

Console.WriteLine("Default!");

} else Console.WriteLine("Not default!");


ugyanígy működik referencia típusra is (az if-else ágat kicserélve ternary operatorra):

Foo[] t = new Foo[10];

Console.WriteLine(t[5] == default(Foo) ? "Default" : "Not default");

2017. jan. 2. 21:33
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!