PDA

View Full Version : مبتدی: فرق بین if و case و اینکه کدام یکی در نوشتن برنامه بهتر است



docendo
یک شنبه 17 دی 1391, 23:12 عصر
سوال من اینه که در نوشتن برنامه های شرطی از if یا case استفاده کنیم کدام یکی بهتر است و یک مختصر در مورد تفاوت کاربردی این دو در C#

zarrinnegar
یک شنبه 17 دی 1391, 23:35 عصر
شرط IF و Case هر دو شرط رو چک میکنن ولی سرعت عمل اونها با هم فرق میکنه
کارایی شون هم فرق میکنه
زمانی که بخواهیم چندین مقدار رو توی یک شرط چک کنیم بهترین راه استفاده از Case هست چرا که یک شرط چک میشه و تعدد مقدار داریم مثلا اگر a برابر با 1 بود چکار کنه اگر برابر با 2 بود چی اگر برابر با 3 بود و ..... یعنی یک شرط چک میشه
ولی توی If یک مقدار چک میشه و اگر شرط درست نبود میشه گفت حالا شرط دیگه ای رو چک کن و اگر شرط بر قرار نبود شرط دیگه ای رو چک کن
و این تفاوت رو بوجود میاره

مثالش هم اینه که اگر A=1 بود و اگر نبود b=100 بود و اگر نبود Z > 1 بود اینها همه توی یک IF نوشته میشن ولی با شرایط مختلف

hamedAdmin
دوشنبه 18 دی 1391, 09:48 صبح
سلام
اساسی ترین فرق بین if و case مرتبه زمانی اجرا هست(امید وارم که مرتبه های زمانی رو درصورتی که دانشجوی کامپیوتر بودید یا هستید خونده باشید) که البته بجای استفاده if های بزرگ استفاده از case به مراتب بهتره و مثله برتری خورشید به یه لامپه!(با کمی اغراق)
if ها از مرتبه n و case از مرتبه 1 هستش!این یعنی طولانی شدن دستور case تقریبا تاثیری روی سرعت نداره و این کار هم بعلت استفاده کامپایلر ها از توابع hash هست.
بنا براین کلا با if های تودر تو و طولانی خداحافظی کنید و به case خداقوت بگید.


سوال من اینه که در نوشتن برنامه های شرطی از if یا case استفاده کنیم کدام یکی بهتر است و یک مختصر در مورد تفاوت کاربردی این دو در C#‎