PDA

View Full Version : سوال: تعریف متغیر با شرط



Faraz Mehraien
پنج شنبه 29 خرداد 1393, 11:57 صبح
با سلام.من می خوساتم اگر یک bool مقدارش true بود ،،،،،،،،،، اونوقت یه سری دیگر ز متغیر ها مثلا چند تا string تعریف بشن........چه جوری می تونم این کارو بکنم؟؟،،،،،،،،اصلا شدنیه؟؟؟؟؟؟
ممنون می شم اگر راهنمایی کنید..

karimi72
پنج شنبه 29 خرداد 1393, 13:15 عصر
دوست عزیز لطفا بیشتر توضیح بدهید درست متوجه منظورتان نشدم.
اما یک پیشنهاد دارم برایتان یک ساختمان داده درست کنید که آن string هایی که احتیاج دارید در آن موجود است و یک نمونه از آن بسازید ولی به آن حافظه ای اختصاص ندهید و بعد از true شدن متغییر bool به آن حافظه اختصاص دهید.

Faraz Mehraien
پنج شنبه 29 خرداد 1393, 16:04 عصر
مثلا برای یک شی اگر bool سالم بودنش true بود ،،،،،،،string توضیحات قابل پر کردن و تعریف کردن باشه......بیاد چی کار کنم؟

Hadoop
جمعه 30 خرداد 1393, 03:29 صبح
textBox1.Enabled = myBooVal == true;

mehdi.mousavi
جمعه 30 خرداد 1393, 14:40 عصر
با سلام.من می خوساتم اگر یک bool مقدارش true بود ،،،،،،،،،، اونوقت یه سری دیگر ز متغیر ها مثلا چند تا string تعریف بشن........چه جوری می تونم این کارو بکنم؟؟،،،،،،،،اصلا شدنیه؟؟؟؟؟؟ ممنون می شم اگر راهنمایی کنید..


سلام.
بله شدنیه، البته با استفاده از Preprocessor Directive (http://msdn.microsoft.com/en-us/library/ed8yd1ha.aspx) ها. در واقع هنگامیکه Compiler با کدی بین #if و #endif برخورد میکنه، فقط در صورتی اون بخش از کد رو Compile میکنه که Symbol مورد استفاده تعریف شده باشه. مثال زیر رو در نظر بگیرید:

static void Main(string[] args)
{
#if mine
string s1 = "s1";
string s2 = "s2";
#else
string s3 = "s3";
string s4 = "s4";
#endif

//whatever
}


اگر این کد رو در Visual Studio ببینید، چون سیمبل mine تعریف نشده، بخشی که در if قرار گرفته طوسی رنگ خواهد بود به این معنی که در حال حاضر، اگر کد رو Compile کنید، فقط بخش else کامپایل میشه و در نتیجه s1 و s2 تعریف نشده خواهد بود. حالا به قسمت Properties پروژه برید، در بخش Conditional Compilation Symbols، کلمه mine رو بنویسید و به Editor برگردید. این بار، خواهید دید که بخش else طوسی رنگ شده و s3/s4 در صورت Compile کد، کامپایل نخواهد شد...

موفق باشید.