PDA

View Full Version : سوال: چگونگی گذاشتن شرط اگر متغیر هیچ مقداری نداشت داده int double float



130000
دوشنبه 21 بهمن 1398, 14:10 عصر
سلام و درود خدمت اساتید عزیز

دوستان چطور میتونم برای انواع داده هامون در سی شارپ C#‎‎‎‎ شرط بزارم که اگر هیچ مقداری نداشت حتی 0 ...

برای int هیچ مقداری نداشت حتی 0

برای double اگر هیچ مقداری نداشت حتی 0
برای float اگر هیچ مقداری نداشت حتی 0

لطفا راهنمایی کنید که شرطشون به چه صورت نوشته میشه.


و سوال دیگه هم داشتم اینه که میخوام تعریف کنم که متغییر فلان که دارای مقداره یعنی مقدار گرفته، هیچ مقداری نداشته باشه و خالی خالی باشه و هیچی نداشته باشه حتی 0 ... یعنی به صورت دیفالت درآد.

the king
دوشنبه 21 بهمن 1398, 16:47 عصر
سلام و درود خدمت اساتید عزیز

دوستان چطور میتونم برای انواع داده هامون در سی شارپ 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; // شبیه سایر متغیر ها مقدار دهی می کنیم
}

شهابسلطانی
دوشنبه 21 بهمن 1398, 17:03 عصر
متغیری که مقداری نداشته باشه که قابل دسترسی نیست، مثلا 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; // شبیه سایر متغیر ها مقدار دهی می کنیم
}

:تشویق::تشویق::تشویق::تشویق:: شویق::تشویق::تشویق:

130000
دوشنبه 21 بهمن 1398, 18:11 عصر
متغیری که مقداری نداشته باشه که قابل دسترسی نیست، مثلا 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; // شبیه سایر متغیر ها مقدار دهی می کنیم
}


سلام واقعا ممنونم از توضیحاتی که ارائه دادی قبل اینکه راهکارتو بگی من مشکل رو به string حل کردم اول ریختم تو string و بعد با string شرط گذاری کردم و بعد در صورت صحیح بودن شرط تبدیلش کردم به int و ریختمش در متغییر به این شکل مشکلم رو حل کردم اما ممنون که شیوه درست و اصولیش رو بهم گفتی... واقعا ممنون و لطف کردی