يعد الحصول على الحد الأقصى للقيمة من نوع التعداد مهمة شائعة يواجهها المطورون. يعد هذا مطلوبًا في السيناريوهات التي تحتاج فيها إلى التحقق من صحة إدخال المستخدم أو التعامل مع موارد معينة بناءً على قيمة التعداد. يوفر C# طريقة مباشرة لتحقيق ذلك باستخدام فئة Enum وقليلًا من LINQ.
دعنا نستكشف الحل الذي يجعل استرداد الحد الأقصى لقيمة التعداد أمرًا سهلاً مثل الفطيرة.
التعداد العام MyEnum
{
الخيار1 = 1،
الخيار2 = 2،
الخيار3 = 3
}
...
كثافة العمليات العامة GetMaxEnumValue()
{
إرجاع Enum.GetValues(typeof(MyEnum)).Cast().الأعلى()؛
}
يقوم هذا الجزء القصير من التعليمات البرمجية بكل عمل استرداد أعلى قيمة في التعداد. ولكن كيف يعمل؟
الغوص العميق في الكود
يعد `Enum.GetValues(typeof(MyEnum))` أول جزء مهم يجب فهمه. تقوم طريقة .NET المضمنة هذه بإرجاع صفيف يحتوي على قيم الثوابت في تعداد محدد. يتم تمرير نوع التعداد كمعلمة إلى الطريقة باستخدام الكلمة الأساسية `typeof`.
بمجرد حصولنا على المصفوفة، نحتاج إلى تحويلها إلى أعداد صحيحة. ويتم ذلك باستخدام .Cast() وهي جزء من LINQ (الاستعلام اللغوي المتكامل). LINQ عبارة عن مجموعة من التقنيات والأساليب في .NET التي تتيح لنا العمل مع البيانات بطريقة أكثر سهولة ومرونة.
بعد تحويل القيم إلى أعداد صحيحة، يكون الحصول على القيمة القصوى أمرًا بسيطًا مثل استدعاء طريقة .Max()، وهي أداة رائعة أخرى توفرها LINQ. تقوم هذه الطريقة بإرجاع القيمة القصوى في مجموعة من قيم int.
الاستفادة من مكتبات Enum وLINQ
تعد فئة Enum جزءًا من مساحة اسم النظام في .NET وتوفر عدة طرق ثابتة للعمل مع التعدادات. إنها المكتبة التي يمكنك الذهاب إليها عندما تحتاج إلى إجراء أي عملية تتعلق بأنواع التعداد.
من ناحية أخرى، LINQ، وهو جزء من مساحة الاسم System.Linq، هو أحد أقوى ميزات C#. فهو يوفر أساليب مختلفة للتعامل مع المجموعات بفعالية، مثل الحصول على الحد الأقصى أو الحد الأدنى أو المتوسط للقيم، وفرز البيانات وتصفيتها.
تفاصيل أكثر