نوشته شده توسط
130000
سلام و درود خدمت اساتید عزیز
دوستان چطور میتونم برای انواع داده هامون در سی شارپ C# شرط بزارم که اگر هیچ مقداری نداشت حتی 0 ...
برای int هیچ مقداری نداشت حتی 0
برای double اگر هیچ مقداری نداشت حتی 0
برای float اگر هیچ مقداری نداشت حتی 0
لطفا راهنمایی کنید که شرطشون به چه صورت نوشته میشه.
و سوال دیگه هم داشتم اینه که میخوام تعریف کنم که متغییر فلان که دارای مقداره یعنی مقدار گرفته، هیچ مقداری نداشته باشه و خالی خالی باشه و هیچی نداشته باشه حتی 0 ... یعنی به صورت دیفالت درآد.
متغیری که مقداری نداشته باشه که قابل دسترسی نیست، مثلا int i اگه متغیر محلی باشه باید اول مقدار دهی بشه وگرنه کامپایلر اجازه نمیده برای بررسی مقدارش تلاشی بکنید.
در اینجور موارد دو تا کار می کنیم :
یا یک مقدار خاص، مثلا int.MinValue رو برای این حالت خاص در نظر میگیرند که فرض کنیم اگر مقدارش مثلا int.MinValue بود یا مثلا double.NaN بود یعنی مقداری نداره. نه اینکه واقعا مقداری نداره، خودمون اون مقدار خاص رو برای این مفهوم در نظر بگیریم.
یا نوع داده Nullable برایش در نظر میگیریم که null شدنی باشه و null رو برای حالتی در نظر میگیریم که مقداری نداره.
انواع داده Nullable رو به دو صورت میشه تعریف کرد، یا با < > Nullable و یا با ? (علامت سوال)
Nullable<int> a;
یا :
int? a;
مهم نیست که برای تعریف اش از ?int استفاده کردید یا <Nullable<int .فرقی نداره.
فرق این a با int ها در اینه که اولا میتونه مقدار null بگیره و ثانیا برای دسترسی به مقدارش Value داره و برای چک کردن اینکه مقدار داره یا null ئه، HasValue داره :
Nullable<int> a;
a = 123; // شبیه سایر متغیر ها مقدار دهی می کنیم
if (a.HasValue) // اگر مقدار دارد و تهی نیست
{
int n = a.Value; // مقدارش را در متغیری قرار می دهیم
}
a = null;
if (a.HasValue == false) // اگر مقدار ندارد و تهی است
{
a = 0; // شبیه سایر متغیر ها مقدار دهی می کنیم
}