مشاوره رایگان
دریافت لینک های دانلود دریافت پستی درب منزل مبلغ کل: تومان
جهت دریافت کد تخفیف به کانال تلگرام مراجعه و یا با پشتیبان آنلاین هماهنگ نمایید

آموزش ثابت ها Constants در سی شارپ به زبان ساده


ثابت ها (Constants)

قسمت  دهم

در این مقاله قصد داریم تا از میان اعضای نوع داده کلاس در سی شارپ با ثابت ها (constant)  آشنا شویم.

در مقاله قبلی اعضای کلاس (class members) را تعریف کردیم و گفتم اعضای کلاس (class members) ، هر عضوی را که مستقیما در بدنه کلاس یا در بدنه اعضای کلاس ، تعریف شود را شامل می شود . همچنین گفته شد که این اعضا به گروه فیلد ها (fields) ، ثابت ها (constants) ، خصوصیات (properties) ، متد ها (methods)  ، رخدادها (events) ، عملگر ها(operations) ، ایندکسر ها (indexers) ، سازنده ها (constructors) ، مخرب ها  (finalizers) و نوع داده های تو در تو (nested type) تقسیم می شوند. و در مورد تعریف و استفاده از فیلد ها (fields) در نوع داده کلاس صحبت کردیم در این مقاله قصد داریم تا با تعریف ثابت ها (constants) بحث را ادامه دهیم.

  1. ثابت ها  (constants):

ثابت ها ، متغیر ها ای هستند که مقدار ان ها در زمان کامپا یل مشخص می شود و در زمان اجرا  مقدار ان ها غیر قابل تغییر است از این رو ، ثابت (constant)  نامیده می شوند.و همچنین حتما باید مقدار دهی شوند در غیر ان صورت خطای زمان کامپایل ایجاد می کنند.

مثال : خطا در عدم مقدار دهی متغیر از نوع ثابت (constant)

static class  constants

    {
        public const int weeksOfYear;   

        public const int daysOfYear=365;

        public const double p = 3.14;

   }

  در مثال بالا از آنجا که متغیر ثابت ، با نام weeksOfYear مقدار دهی نشده است با خطای زمان کامپایل زیر روبرو خواهیم شد:

الگوی تعریف ثابت (constant)  :

access modifier  const  type constantName

access modifier : سطوح دسترسی را برای متغیر از نوع ثابت (constant) تعریف می کند و می تواند شامل :  public، private ،  protected ، internal ، protected internal ، private protectedباشد.

const : کلمه کلیدی const ، نشانده دهنده تعریف متغیر از  نوع ثابت (constant) است.

 type: نوع متغیر ثابت (constant) را مانند تعریف تمام متغیر ها ، مشخص می کند.

constantName : نام متغیر ثابت (constant) تعریف شده ،  است.

 

مثال : تعریف متغیر ثابت (constant) در بدنه کلاس

public class weeks

    {
        public const int days = 7;
    }

 

در این کلاس با نام weeks ، یک متغیر ثابت (constant) با نام days تعریف شده است و مقدار ثابت 7 برای ان در نظر گرفته شده است. همانطور که اشاره شده بعد از کامپایل و انتساب مقدار 7 به متغیر ثابت (constant) با نام days ، مقدار ان در طول اجرا غیر قابل تغییر خواهد بود .

نکته :

چندین متغیر از نوع ثابت (constant) در یک خط کد می تواند تعریف شود.

مثال : تعریف چندین متغیر از نوع ثابت (constant) در یک خط کد 

public class weeks

    {
        public const int days = 7, hours = 168, minutes = 10080;
    }

    

نکته :

از  آنجا که در زمان کامپایل مقدار در متغیر از نوع  ثابت (constant) ، در ان جایگزین می شود و این مقدار قابل تغییر نیست ، متغیر از نوع ثابت (constant) ، نمی تواند به صورت ارسال با مرجع (pass by reference) به عنوان پارامتر ارسال شود زیرا آدرسی برای ارسال وجود ندارد.

نکته :

نوع های داده ای که توسط برنامه نویس قابل تعریف شدن هستند مانند نوع داده کلاس (class) ، نوع داده ساختمان (struct) و نوع داده آرایه (array) ، نمی توانند از نوع ثابت (constant) تعریف شوند.

نکته :

سی شارپ از رخدادها (events) ، خصوصیات (properties) یا متد ها (methods) از نوع ثابت (constant) پشتیبانی نمی کند.

نکته :

برای دسترسی به مقدار متغیر از نوع ثابت (constant) ، چون مقدار ان غیر قابل تغییر است ، مانند اعضای استاتیک (static members) ، با نام کلاس به ان ها دسترسی پیدا می کنیم.مثال : دسترسی به متغیر از نوع ثابت (constant) خارج از کلاس


class Program

    {
        static void Main(string[] args)

        {
            Console.WriteLine("the number of days in a week= " + weeks.days );                     

        }
    }

    

خروجی قطعه کد بالا برابر خواهد بود با :

the number of days in a week=7

نکته :

می توان تمام مقادیر ثابت استفاده شده در برنامه را در قالب یک کلاس استاتیک (static class)  گروه بندی کرد

مثال :

  static class  constants

    {
        public const int weeksOfYear=52;

        public const int daysOfYear=365;

        public const double p = 3.14;

    }

    class Program

    {
        static void Main(string[] args)

        {
            Console.WriteLine("p= " + constants.p );

            Console.WriteLine("the number of weeks in a year= " + constants.weeksOfYear);

            Console.WriteLine("the number of days in a year= " + constants.daysOfYear);

        }
   }
 

 

 در مثال بالا یک کلاس استانیک (static class) تعریف شده است تا شی ای(object) از ان قابل تعریف شدن نباشد و سپس تمام متغیر های ثابت ، را در آن تعریف شده است. خروجی قطعه کد بالا برابر خواهد بود با :

p=3.14

the number of weeks in a year= 52

the number of days in a year= 365

 

گرداوری : سمانه وزیریان

فصلِ: 1 , تعداد قسمت ها: 9 , سطح: صفر تا صد
موضوعات: آموزش سی شارپ

این فصل در یک نگاه:

آموزش ارسال پیامک، آموزش ارسال پیامک تکی و گروهی ، ارسال پیامک به صورت اختصاصی برای هر مشترک، دریافت پیامک، مشاهده وضعیت…

توضیحات کلی مجموعه:   آیا می دونید قیمت نرم افزارهای مدیریت پیامک در حدود 150 هزار تومان است؟ اما توسط این دوره شما میتونید با مبلغ بسیار کمتر یک نرم افزار مدیریت پیامک رو به صورت کاملا حر…
فصلِ: 9 , تعداد قسمت ها: 59 , سطح: صفر تا صد
موضوعات: آموزش سی شارپ

این فصل در یک نگاه:

در این فصل که فصل پایانی این دوره می باشد در مورد نحوه ساختن فایل نصبی سریع یا همان quick installer که روش پیشنهاد شده م…

توضیحات کلی مجموعه: پس از بازخوردهای بسیار خوبی که از دوره های آموزش برنامه نویسی سیستم اتوماسیون اداری و آموزش برنامه نویسی سیستم فروش و انبارداری مشاهده کردیم، تصمیم گرفتیم با توجه به درخ…
فصلِ: 13 , تعداد قسمت ها: 120 , سطح: صفر تا صد
موضوعات: آموزش سی شارپ

این فصل در یک نگاه:

در این فصل که فصل آخر از مجموعه بزرگ آموزش سیستم اتوماسیون اداری می باشد در ابتدا در مورد اسناد و نامه های خارج از سازما…

دوره صفر تا صد  آموزش برنامه نویسی و پیاده سازی سیستم اتوماسیون اداری تحت شبکه. (توصیه می شود دومی مجموعه را حتما ببینید) امروزه اطلاعات یکی از مهمترین و با ارزشترین منابع هر اداره و یا ساز…
فصلِ: 4 , تعداد قسمت ها: 14 , سطح: مقدماتی

این فصل در یک نگاه:

توضیح تنظیمات گرافیک و صدا در یونیتی پیاده سازی منو ها …

به نام خدا   بازی‌سازی یک حرفه بسیار جذاب است و تبدیل شدن به یک بازی‌ساز حرفه‌ای آرزوی همه ماست. اینکه بتوانیم دنیای خاصی خلق کنیم و در این دنیا قوانین خود را پیاده کنیم، همیشه ما را به وج…
فصلِ: 11 , تعداد قسمت ها: 92 , سطح: صفر تا صد

این فصل در یک نگاه:

اجرای سیستم روی سیستم، قرار دادن سیستم روی سرور، تعریف Connetion String، آشنایی با فایل App.config، ساخت رشته اتصال به ص…

مهمترین تکنولوژیهای استفاده شده در این دوره پروژه محور (سیستم فروش کالا و انبارداری) طراحی گرافیکی به روش WPF (Windows Presentaion Foundation) آموزش کامل برنامه نویسی xaml (برای طراحی های …
فصلِ: 5 , تعداد قسمت ها: 25 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل پنجم…

توضیحات کلی مجموعه: درباره گیت: لذت پیش بردن پروژه های برنامه نویسی خود را با بهترین ورژن کنترل سیستم جهان تجربه کنید کامل ترین دوره ی آموزشی گیت و گیت هاب به همراه مثال های کاربردی گی…

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید