الفرق بين ال NULL & Empty

shape
shape
shape
shape
shape
shape
shape
shape
Picture for blog post الفرق بين ال NULL & Empty
25
May

ايه الفرق بين ال null & empty value or 0
فيه ناس فاكره ان null=empty و ده غلط
في البرمجه null معناها ان المتغير ده مش موجود او مش معموله allocation في الميموري انما ال empty value او ال 0 معناها ان المتغير ده متعرف و معمول ليه allocation في الميموري بس قيمته فاضيه او واخد قيمة 0 (الصوره بتوضح المعنى ب الظبط)
الناحية ال على الشمال موجود بكره لكن مفيش فيها ورق ف كدا قيمتها ب 0
انما الناحية ال على اليمين البكرة مش موجوده اصلا ف كدا هى null
ايه ال بيحصل لما استخدم null object?
في سي شارب لو استخدمت متغير و هو قيمته ب null هيطلع ليك اكسبشن
null reference exception 
و دي معناها ان المتغير ال انت معرفه ده لسه ما حصلش عليه initialize ف لسه مش موجود في الميموري
لو عاوز تتأكد ان المتغير بتاعك مش ب null 
هتعمل check عليه
if(x!=null)
{
//Use x
}
طيب هل كل ال datatype بتدعم ان يكون ليها قميه null ?
لا مش كل ال datatype ممكن تاخد قيم ب null 
زي ال numeric datatype : int - double -float
على عكس ال string و اي class انت بتعمله ممكن الاوبجكت بتاعته تاخد قيمه null عادي
طيب لو انا محتاج اني احول datatype مش بتقبل null و اخليها تقبل null هل ده ممكن ؟
ايوه ممكن كل ال هتعمله هتزود علامة استفهام بعد نوعها 
int? x;
او
Nullable<int> x;

الكلام ده بينطبق على لغة سي شارب لكن المفهوم هتلاقيه في اغلب لغات البرمجه

Comments (1)

System

asdfghnm

Leave your comment