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

داده های شمارشی در سی شارپ به همراه مثال - کلیک سایت


نوع داده شمارشی در سی شارپ

همان طور که در مقاله های قبل به آن اشاره شد ، نوع داده شمارشی در سی شارپ زیر مجموعه نوع داده مقدار ( value type ) است . و زمانی استفاده می شود که بخواهیم مقادیر یک متغیر را به مجموعه ای بسته از مقادیر محدود کنیم ، که در عین حال این مقادیر از نظر منطقی به یکدیگر وابسته هستند. مثل متغیری که مقادیر آن فقط می تواند روز های هفته باشد یا متغیری که مقادیر آن فقط می تواند ماه های سال باشد برای تعریف چنین متغیر هایی از نوع داده شمارشی در سی شارپ استفاده می کنیم . در ادامه با مثال این مساله روشن تر خواهد شد .

الگوی تعریف نوع داده شمارشی در سی شارپ

 

enum    enumName {  enumeration list }

enum : کلمه کلیدی enum  مشخص کننده تعریف نوع داده شمارشی در سی شارپ.

enum Name : نام در نظر گرفته شده برای نوع داده  شمارشی تعریف شده.

enumeration list : لیستی ثابت از نام ها که مجموعه مقادیر متغیر ، با نوع داده شمارشی تعریف شده را تشکیل می دهند .

مثال : تعریف ساده از نوع داده شمارشی در سی شارپ

   class Program
    {
        enum seasonName { spring , summer , fall , winter };
    }

 

مقادیر اختصاص داده شده به هر مقدار ثابت در نوع داده شمارشی در سی شارپ

هر کدام از مقادیر استفاده شده در مجموعه مقادیر نوع داده شمارشی در سی شارپ به صورت پیش فرض نماینده یک مقدار عددی هستند. پیش فرض این مقدار از 0 شروع می شود و یکی یکی افزایش پیدا می کند. در مثال بالا مقدار پیش فرض برای spring صفر برای summer  یک ، برای fall دو و برای winter  سه خواهد بود.  این مقدار های پیش فرض ، در زمان تعریف نوع داده شمارشی می تواند تغییر کند و هر یک از مقادیر را از نوع byte , sbyte , short, ushort , int , uint , long , ulong   بگیرد .

مثال : تغییر مقدار پیش فرض مجموعه مقادیر در نوع داده شمارشی در سی شارپ
   

 class Program
    {
        enum seasonName { spring=4 , summer,  fall, winter };
        enum MAxMInRang : long  {  max=1234567866566 , min=123 }
    }

  

 در این مثال در تعریف داده شمارشی seasonName مجموعه مقادیر از 4 شروع می شود و به صورت صعودی یکی یک افزایش پیدا می کند و در تعریف داده شمارشی MAxMInnRang، به هر مقدار ثابت در مجموعه، مقادیری از نوع long نسبت داده شده است .  

 

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

زمانی که مقداری از یک نوع داده شمارشی در سی شارپ را به یک متغیر نسبت می دهیم ، مقدار کپی شده در متغیر (که در سمت چپ دستور انتساب قرار دارد )،  مقدار عددی تعریف شده برای مقدار ثابت، در نوع داده شمارشی ( که در سمت راست دستور انتساب قرار دارد ) خواهد بود .


مثال : استفاده از نوع داده شمارشی در سی شارپ

  class Program
    {
        enum seasonName { spring = 4, summer , fall, winter };
        static void Main(string[] args)
        {

            int season = (int)seasonName.spring;
            Console.WriteLine("season = " + season);
        }

    }

در این مثال، مقدار عددی 4 که در زمان تعرف نوع داده شمارشی sessonName برای ثابت spring در نظر گرفته شده است در متغیر season کپی می شود و خروجی برابر خواهد بود با :

season = 4

مثال : استفاده از نوع داده شمارشی در سی شارپ   

  class Program
    {
        enum seasonName { spring = 4, summer , fall, winter };
        static void Main(string[] args)
        {
            seasonName season= seasonName.spring ;
            switch (season)
            {
                case seasonName.spring:
                case seasonName.summer:
                    Console.WriteLine(" my favorite season !");
                    break;
                case seasonName.winter:
                case seasonName.fall:
                    Console.WriteLine(" your favorite season !");
                    break;
            }
                   
        }

    }

خروجی در این مثال با توجه به مقدار متغیر دستور switch که برابر است با، مقدار ثابت spring ،
( از مجموعه مقادیر نوع داده شمارشی seasonName ) برابر خواهد بود با :

my favorite season !  

نکته

اگر چه نوع متغیر ، در سمت راست دستور انتساب و نوع عددی تخصیص داده شده به مقادیر ثابت در نوع داده شمارشی،  یکی باشد ، باز هم در زمان استفاده باید از تبدیل نوع استفاده شود در غیر اینصورت با خطای زمان کامپایل مواجه خواهیم شد .


مثال : خطای تبدیل نوع  

class Program
    {
        enum seasonName { spring = 4, summer , fall, winter };
        static void Main(string[] args)
        {

            int season = seasonName.spring;
            Console.WriteLine("season = " + season);
        }
}


در این مثال از انجا که در زمان انتساب مقدار نوع داده شمارشی seasonName به متغیر season تبدیل نوع استفاده نشده است با خطای زمان کامپایل مواجه خواهیم شد و این خطا به صورت زیر خواهد بود :

 

نکته

اگر مقدار ثابت در نوع داده شمارشی را به نوع string تبدیل کنیم در این صورت نام مقدار ثابت ، به جای مقدار عددی آن در درون متغیر  در سمت راست عملگر انتساب قرار خواهد گرفت.

مثال : تبدیل مقدار ثابت در نوع داده شمارشی نوع string

  

  class Program
    {
        enum seasonName { spring = 4, summer , fall, winter };
        static void Main(string[] args)
        {

            string  season = seasonName.spring.ToString();
            Console.WriteLine("season = " + season);
        }

    }


در این مثال مقدار خروجی  برابر خواهد بود با :

season = spring

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

فصلِ: 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 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید