C#-ban van-e olyan parancs, ami azt vizsgálja, hogy egy tömb adott helye üres-e?
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
}
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");
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!