تبلیغات
تبلیغات

قطعه کد تبدیل رشته به Enum در سی شارپ

فرض کنید یک Enum با نام AnimalEnum ساخته‌ایم که شامل مقادیر Cat, Dog, Mouse می‌باشد. حالا اگر بخواهیم یک رشته‌ای که احتمالا یکی از مقادیر Cat, Dog, Mouse در آن می‌باشد را به نوع AnimalEnum متناظرش تبدیل کنیم، چه کاری باید انجام داد؟! طبیعتا شاید بگویید شرط می‌نویسیم که مقادیر را بررسی کند! اما این کار خسته‌کننده است! در ادامه روش ساده‌ی انجام این کار را خواهیم گفت.

روش اول

متد زیر با دریافت مقدار رشته‌ای، آن را به Enum مورد نظر تبدیل می‌کند:

مثلا به صورت زیر برای AnimalEnum:

فرض کنید به جای Cat، رشته‌‌ای با مقدار Wolf قرار بگیرد! اما متاسفانه این مقدار در AnimalEnum وجود ندارد. در روش دوم این مشکل حل شده است.

روش دوم

این روش، شکل پیشرفته‌ی متد قبل می‌باشد که در آن، یک مقدار پیشفرضی برای Enum در نظر گرفته شده است:

از آنجایی که پارامتر اول از this برای تعریف استفاده کرده است، می‌توان به صورت زیر از این تابع استفاده کرد:

البته فرض بر این بود که Unknown یک مقدار جدید در AnimalEnum باشد که به حیوان ناشناخته دلالت کند. اما می‌توان پیشفرض را برای مثال روی Cat و … نیز قرار داد که به منطق هدف ما بستگی دارد.


از این تکنیک، استفاده‌های زیادی می‌شود. برای مثال، ممکن است مقادیر Enum را در فایل تنظیماتتان به صورت رشته‌ای ذخیره کرده و بعدا بخواهید آن را بارگزاری کنید. و البته همانطور که گفته شد، امکان نوشتن شرط برای به دست آوردن مقدار Enum مورد نظر از روی رشته نیز وجود دارد؛ ولی تکنیک بالا روش ساده‌تری را در اختیارمان قرار می‌دهد (به قولی، کی میره این همه راهو!).
کانال تلگرام فول کده
تبلیغات

درباره نویسنده

هادی اکبرزاده

[ مدیر فول کده ]

علاقه‌مند به اشتراک‌گذاری اطلاعات در هر زمینه‌ای
برنامه‌نویس فول استک

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نظرات ثبت شده بدون دیدگاه