کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش دستورالعمل پیش پردازنده در سی شارپ

دوره آموزش برنامه نویسی C#

کلیه حقوق مادی و معنوی این مقاله متعلق به آموزشگاه تحلیل داده می باشد و هر گونه استفاده غیر قانونی از آن پیگرد قانونی دارد.

آموزش دستورالعمل پیش پردازنده در سی شارپ

دستورات preprocessor عملکردهایی را به کامپایلر می دهد تا اطلاعات را قبل از اینکه اجرای واقعی شروع شود، پیش پردازش کند.

 تمام دستورات preprocessor با #C داده می شوند و فقط  کاراکترهای فضای سفید ممکن است قبل از یک دستور روی یک خط ظاهر شوند. دستورات preprocessor بیانیه نیستند پس با نقطه سمیکالن (;) به پایان نمی رسند.

کامپایلرهای C# دارای preprocessor مجزا نیستند، به هرحال دستورات طوری پردازش می شوند که انگار یک دستور وجود دارد. در C# دستورات preprocessor برای کمک به همگردانی مشروط استفاده می شوند. برخلاف دستورات C و C++، برای ایجاد ماکروها استفاده نمی شوند. درستور یک preprocessor باید تنها دستور روی یک خط باشد.

لیست دستورات preprocessor در C#

جدول زیر دستورات موجد در C# را لیست می کند.

 Preprocessor Directive

Description.

#define

ترتیبی از کاراکترها را که نماد نامیده می شوند، تعریف می کند.

#undef

به شما اجازه می دهد که یک نماد را بدون تعریف باقی بگذارید.

#if

اجازه تست کردن نماد یا نمادهایی را می دهد تا مشخص کنیم که آیا برابر درست می باشند.

#else

اجازه می دهد تا دستورات مرکب مشروط با #if ایجاد کنیم.

#elif

اجازه می دهد تا یک دستور مرکب کشروط ایجاد کنیم.

#endif

پایان یک دستور مشروطرا مشخص می کند.

#line

به شما اجازه می دهد تا تعداد خطوط کامپایلر و (به طور اختیاری) نام فایل خروجی برای خطاها و هشدارها را تعیین کنید.

#error

اجازه ی تولید خطا از یک موقعیت خاص در برنامه ی شما را می دهد.

#warning

اجازه ی تولید هشدار سطح یک از یک موقعیت خاص در برنامه ی شما را می دهد.

#region

به شما اجازه می دهد تا گروهی از کدها را مشخص کنید که می توانید در هنگام استفاده از ویژگی ترسیمVisual Studio Code Editor  گسترش دهید یا جمع کنید.

#endregion

پایان یک  #region block را مشخص می کند.

 

 #define preprocessor

به شما اجازه می دهد symbolic constants ایجاد کنید.

#define به شما اجازه می دهد تا نمادی را تعریف کنید که با استفاده از نماد به عنوان عبارتی وارد دستور #if شده و آن عبارت با درست برابر خواهد بود که ترکیب آن مانند زیر می باشد.

#define symbol

برنامه ی زیر این مطلب را توضیح می دهد.

#define PI
        using System;
        namespace PreprocessorDAppl
        {
          
class Program
   {
             
static void Main(string[] args)
              {
                 #
if (PI)
                    Console.WriteLine(
"PI is defined");
                 #else
                    Console.WriteLine(
"PI is not defined"
);
                 #endif
                 Console.ReadKey();
              }
           }
        }

وقتی که برنامه ی بالا کامپایل شده و اجرا می شود نتیجه ی زیر را به دنبال دارد.

PI is defined

دستورات مشروط

می توانید از دستور #if برای ایجاد دستورات مشروط استفاده کنید. دستورات مشروی برای تست برابری نماد یا نمادهایی با درستی مفید می باشند. اگر با درستی برابر باشند، کامپایلر تمام کد بین #if و دستور بعدی را ارزیابی می کند.

ترکیب برای دستور مشروط عبارت است از

#if symbol [operator symbol]...
 

وقتی که symbol نام نماد باشد، شما می خواهید که امتحان کنید. همچنین می توانید از true و false استفاده کنید و یا نماد را با اپراتور منفی prepend کنید.

 

operator symbol اپراتوری است که برای ارزیابی نماد استفاده می شود. اپراتورها می توانند هرکدام از موارد زیر باشند.

==(equality)

!=(inequality)

&&(and)

|| (or)

همچنین می توانید نمادها و اپراتورها را با پرانتز گروه بندی کنید. دستورات مشروط برای گردآوری برنامه برای ساخت اشکال زدا یابرای گردآوری یک پیکربندی خاص استفاده میشوند. یک دستور مشروط با #if شروع می شود و به طور واضحی باید با #endif تمام شود.

برنامه ی زیر استفاده از دستورات مشروط را توضیح می دهد.

#define DEBUG
        #define VC_V10
        using System;
public class TestClass
{
          
public static void Main()
           {
              #
if (DEBUG && !VC_V10)
                 Console.WriteLine(
"DEBUG is defined");
              #elif (!DEBUG && VC_V10)
                 Console.WriteLine(
"VC_V10 is defined");
              #elif (DEBUG && VC_V10)
                 Console.WriteLine(
"DEBUG and VC_V10 are defined");
              #else
                 Console.WriteLine(
"DEBUG and VC_V10 are not defined"
);
              #endif
              Console.ReadKey();
           }
        }

وقتی برنامه ی بالا کامپایل شده و اجرا می شود، نتیجه زیر را به دنبال دارد.

DEBUG and VC_V10 are defined
1394/07/27 6899 1732
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...