گنتی کی قسم سے زیادہ سے زیادہ قیمت حاصل کرنا ایک عام کام ہے جس کا سامنا ڈویلپرز کرتے ہیں۔ یہ ان منظرناموں میں درکار ہے جہاں آپ کو صارف کے ان پٹ کی توثیق کرنے یا اینوم ویلیو کی بنیاد پر کچھ وسائل کو ہینڈل کرنے کی ضرورت ہے۔ C# Enum کلاس اور تھوڑا سا LINQ کا استعمال کرتے ہوئے اسے حاصل کرنے کا ایک سیدھا سا طریقہ فراہم کرتا ہے۔
آئیے اس حل کو تلاش کرتے ہیں جو شمار کی زیادہ سے زیادہ قیمت کو پائی کی طرح آسان بناتا ہے۔
عوامی enum MyEnum
{
آپشن 1 = 1،
آپشن 2 = 2،
آپشن 3 = 3
}
...
عوامی int GetMaxEnumValue()
{
Enum.GetValues(typeof(MyEnum)).Cast واپس کریں۔().زیادہ سے زیادہ()
}
کوڈ کا یہ مختصر ٹکڑا enum میں سب سے زیادہ قیمت کو بازیافت کرنے کا تمام کام کرتا ہے۔ لیکن یہ کیسے کام کرتا ہے؟
کوڈ میں گہرا غوطہ لگائیں۔
'Enum.GetValues(typeof(MyEnum))' سمجھنے کے لیے پہلا اہم حصہ ہے۔ یہ بلٹ ان .NET طریقہ ایک مخصوص گنتی میں مستقل کی قدروں پر مشتمل ایک صف واپس کرتا ہے۔ گنتی کی قسم کو پیرامیٹر کے طور پر `typeof` کلیدی لفظ کا استعمال کرتے ہوئے طریقہ میں منتقل کیا جاتا ہے۔
ایک بار جب ہمارے پاس صف ہو جائے تو ہمیں اسے عدد میں ڈالنے کی ضرورت ہے۔ یہ .cast کا استعمال کرتے ہوئے کیا جاتا ہے۔() طریقہ جو LINQ (Language Integrated Query) کا ایک حصہ ہے۔ LINQ .NET میں تکنیکوں اور طریقوں کا ایک مجموعہ ہے جو ہمیں ڈیٹا کے ساتھ زیادہ بدیہی اور لچکدار طریقے سے کام کرنے کی اجازت دیتا ہے۔
قدروں کو عدد میں ڈالنے کے بعد، زیادہ سے زیادہ قدر حاصل کرنا اتنا ہی آسان ہے جتنا کہ .Max() طریقہ کو کال کرنا، جو کہ LINQ کی طرف سے فراہم کردہ ایک اور زبردست ٹول ہے۔ یہ طریقہ int اقدار کے مجموعہ میں زیادہ سے زیادہ قدر واپس کرتا ہے۔
Enum اور LINQ لائبریریوں کا فائدہ اٹھانا
Enum کلاس .NET میں سسٹم کے نام کی جگہ کا ایک حصہ ہے اور گنتی کے ساتھ کام کرنے کے لیے کئی جامد طریقے فراہم کرتا ہے۔ جب آپ کو اینوم کی اقسام سے متعلق کوئی بھی آپریشن کرنے کی ضرورت ہو تو یہ جانے والی لائبریری ہے۔
دوسری طرف، LINQ، System.Linq نام کی جگہ کا حصہ، C# کی سب سے طاقتور خصوصیات میں سے ایک ہے۔ یہ جمع کرنے کو مؤثر طریقے سے سنبھالنے کے لیے مختلف طریقے فراہم کرتا ہے، جیسے کہ زیادہ سے زیادہ، کم سے کم، یا اوسط قدریں حاصل کرنا، چھانٹنا، اور ڈیٹا کو فلٹر کرنا۔
مزید پڑھئیے