PDA

View Full Version : سوال: تبدیل یک مقدار ثابت به متغیر و برعکس



magnet
دوشنبه 27 اردیبهشت 1389, 15:54 عصر
دوستان آیا میشه یه مقدار ثابت رو که قبلا تعریف کردیم در وسط برنامه تعریفش رو عوض کرد و به متغیر تبدیل کرد؟ یا برعکس.
اگه میشه لطفا کدش رو بهم بگید.
این فکر زمانی به ذهنم رسید که به یه مشکلی برخورد کردم و برای حل اون مشکل (یا بهتر بگم، دور زندنش) خواستم این کارو بکنم.
حالا میخوام مشکلمو بهتون بگم تا ببینم آیا فکری که به ذهنم رسیده خوب بود یا مزخرف! شاید شما راه های بهتری برای حلش داشته باشید.

من اول یک متغییر به نام cnvt تعریف کردم، بعد از یه switch استفاده کردم که تو case اون متغییر cnvt رو قرار دادم و بعد تو قسمت دستوراتش یه سری تغییرات روی cnvt اتفاق می افتاد؛ اما وقتی برنامه رو دیباگ کردم با این خطا مواجه شدم که در قسمت case باید ثابت (const) قرار بدم، حالا اگه تعریف اولیه cnvt رو عوض کنم و به const تبدیل کنم توی دستورات ایراد میگیره که مقدار cnvt ثابته.
واسه همین فکر کردم اگه بشه مقدار اولیه رو ثابت تعریف کنم و بعد از چک کردن case دوباره اونو به متغیر تبدیل کنم.

نظرتون چیه؟

cardano7
سه شنبه 28 اردیبهشت 1389, 22:51 عصر
سلام
می دونیم که switch-case محدودیات مزخرف زیادی داره. مثلا سر این ایراد می گیره:


case myString.ToLower():

فقط به خاطر اینکه یک عبارت ثابت دریافت نکرده.
برای همین من هم گفتم به درک. از if-else استفاده کردم. حداقل پیچش دست خودمونه.

اما اگه خیلی اصرار داری که حتما با switch-case بنویسی می تونی که مقدار اون const را در داخل یک متغیر بریزی و بعد متغیر را استفاده کنی.

const برای این ساخته شده که نتونی تغییرش بدی. گاهی هم میشه بدون زیر پا گذاشتن قوانین(rule و نه law) به اهدافت برسی. :لبخند: