A nullable típus ha éték típus, akkor miért van az, hogy hozzárendelhető a null? (c#)
Figyelt kérdés
Úgy tudom,hogy a null csak referencia típusokhoz rendelhető hozzá.2013. nov. 12. 07:19
1/3 anonim válasza:
A nullable típusok structok .NET-ben (Nullable<T>). A structok pedig value typeok. A nullable változók isgazából sosem lehetnek nullok, pl ha ezt írod, akkor nem fog exceptiont dobni:
int? a = null;
if (a.HasValue)
{
// a null, mégis működik
}
Csak a fordító olyan okos, hogyha azt írod, hogy a == null, akkor ahelyett azt fogja értneni, hogy !a.HasValue
2/3 A kérdező kommentje:
Nem értem.
Ha az érték típus nem lehet null,akkor ez a kifejezés miért megengedett?
int? i = null;
//vagy írhatom így is
Nullable<int> i = null;
2013. nov. 12. 22:04
3/3 anonim válasza:
Kényelmi okokból. Hogy nem kelljen azt írnod, hogy:
i.HasValue = false
Ettől ez még egy struct, aminek nem lehet null az értéke.
Pont ezért nem száll el az i.HasValue hívás. Ha ez egy objektum lenne, akkor elszállna NullReferenceException-nel
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!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!