Dalam C #, katakanlah Anda ingin menarik nilai dari PropertyC dalam contoh ini dan ObjectA, PropertyA dan PropertyB semuanya bisa menjadi null.
ObjectA.PropertyA.PropertyB.PropertyC
Bagaimana saya bisa mendapatkan PropertyC dengan aman dengan jumlah kode yang paling sedikit?
Sekarang saya akan memeriksa:
if(ObjectA != null && ObjectA.PropertyA !=null && ObjectA.PropertyA.PropertyB != null)
{
// safely pull off the value
int value = objectA.PropertyA.PropertyB.PropertyC;
}
Akan menyenangkan untuk melakukan sesuatu yang lebih seperti ini (pseudo-code).
int value = ObjectA.PropertyA.PropertyB ? ObjectA.PropertyA.PropertyB : defaultVal;
Mungkin lebih jauh lagi runtuh dengan operator penggabungan nol.
EDIT Awalnya saya mengatakan contoh kedua saya seperti js, tetapi saya mengubahnya menjadi psuedo-code karena itu dengan benar menunjukkan bahwa itu tidak akan berfungsi di js.
ObjectA
atauPropertyA
nol.