C# لغت کا طریقہ

C Lght Ka Tryq



C# میں ToDictionary فنکشن ایک LINQ ایکسٹینشن فنکشن ہے جو آپ کو ڈیٹا اکٹھا کرنے کو ایک لغت میں تبدیل کرنے کے قابل بناتا ہے جو کہ ایک واضح اور عملی طریقہ پیش کرتا ہے کہ وہ الگ الگ کلیدوں اور متعلقہ اقدار کا نقشہ بنائے۔ اس کے لیے دو دلائل، دو مندوبین یا لیمبڈا ایکسپریشنز کی ضرورت ہوتی ہے، ایک کلید کو منتخب کرنے کے لیے اور ایک اضافی مجموعے میں موجود ہر چیز کے لیے قدر منتخب کرنے کے لیے۔ اس مضمون میں، ہم ToDictionary فنکشن کے استعمال کو ظاہر کرنے کے لیے کچھ C# کوڈ کی مثالیں استعمال کریں گے۔

نحو:

آئیے ایک ایک کرکے C# ToDictionary فنکشن کے درج ذیل نحو کے اندر فراہم کردہ ہر ایک جزو کو توڑ کر سمجھیں:



dict تھا = مجموعہ ToDictionary ( کی سلیکٹر , عنصر سلیکٹر ) ;
  • 'var' کلیدی لفظ کو نتیجہ خیز 'dict' ڈکشنری کی قسم کے زمرے کی وضاحت کے لیے یہاں کاسٹ کیا گیا ہے۔ زیادہ تر معاملات میں، یہ ڈکشنری ہے جہاں K کلید کی قسم ہے اور V لغت کی قدر کی قسم کی قسم ہے۔
  • 'مجموعہ' عنصر ذریعہ مجموعہ کی نمائندگی کرتا ہے جسے آپ 'ڈکٹ' لغت میں تبدیل کرنا چاہتے ہیں۔ یہ کوئی بھی کلاس ہو سکتی ہے جو IEnumerable انٹرفیس کو لاگو کرتی ہے جیسے کہ فہرست، صف، یا استفسار کا نتیجہ۔
  • 'keySelector' کلیدی لفظ ایک مندوب یا lambda اظہار ہے جو یہ بتاتا ہے کہ مجموعے میں موجود ہر آئٹم سے کلید کیسے نکالی جائے۔ یہ ایک دلیل کے طور پر مجموعہ سے ایک عنصر حاصل کرتا ہے اور اس شے کے لیے کلیدی قدر واپس دیتا ہے۔ کلید مجموعہ میں ہر آئٹم کے لیے منفرد ہونی چاہیے، کیونکہ لغات میں ڈپلیکیٹ کلیدیں نہیں ہو سکتیں۔
  • 'elementSelector' کلیدی لفظ سے مراد ایک مندوب یا لیمبڈا اظہار ہے جو یہ بتاتا ہے کہ مجموعہ میں ہر آئٹم سے قدر کیسے نکالی جائے۔ یہ ایک دلیل کے طور پر مجموعہ کا ایک عنصر بھی حاصل کرتا ہے اور اس شے کی قیمت حاصل کرتا ہے۔

ToDictionary فنکشن کو انجام دینے کے بعد، آپ کے پاس ایک نیا لغت آبجیکٹ ہوگا جہاں مجموعہ میں سے ہر آئٹم کو کلیدی قدر کے جوڑے کے طور پر دکھایا گیا ہے۔







مثال 1:

آئیے کوڈ مثال کی مدد سے C# میں ToDictionary فنکشن کے استعمال کا مظاہرہ کرتے ہوئے اس گائیڈ پر ایک نئی شروعات کریں۔ آئیے اس کے ذریعے قدم بہ قدم چلتے ہیں۔



کوڈ کا آغاز مطلوبہ نام کی جگہوں کے درآمد ہونے سے ہوتا ہے: System, System.Collections.Generic، اور System.Linq۔ یہ نام کی جگہیں مجموعوں اور LINQ کے ساتھ کام کرنے کے لیے ضروری کلاسز اور توسیع کے طریقے فراہم کرتی ہیں۔ 'ڈمی' کلاس کی تعریف کی گئی ہے جس میں اس C# پروگرام کا 'مین' طریقہ شامل ہے۔



'مین' طریقہ کے اندر، 'L' کے نام سے ایک فہرست بنائی جاتی ہے۔ اس فہرست میں تین سٹرنگ عناصر ہیں جو صارف کی پسند کے مختلف پرفیوم کے ناموں کی نمائندگی کرتے ہیں۔ ToDictionary طریقہ کو 'L' فہرست میں کہا جاتا ہے۔ یہ فہرست کو لغت میں بدل دیتا ہے۔ فہرست میں ہر سٹرنگ عنصر نتیجے میں آنے والی لغت میں کلید اور قدر دونوں کے طور پر کام کرتا ہے۔





لغت کو StringComparer.OrdinalIgnoreCase پیرامیٹر کا استعمال کرتے ہوئے کیس کے غیر حساس کلیدی موازنہ کے ساتھ بنایا گیا ہے جو بنیادی طور پر کلیدوں کی موجودگی کی جانچ کرتے وقت کیس کے غیر حساس موازنہ کی وضاحت کرنے کے لیے استعمال ہوتا ہے۔ ایک 'اگر' بیان چیک کرتا ہے کہ آیا اس کے کیس کو نظر انداز کرتے ہوئے لغت میں 'بومبشیل' کلید موجود ہے۔ اگر کلید مل جاتی ہے، تو 'اگر' سیکشن کے اندر موجود کوڈ کے ٹکڑوں پر کارروائی کی جائے گی۔ 'اگر' بلاک کے اندر، Console.WriteLine('Bombshell exists') اسٹیٹمنٹ پر عمل درآمد کیا جاتا ہے جو کنسول پر 'Bombshell exists' پیغام کو پرنٹ کرتا ہے۔

سسٹم کا استعمال کرتے ہوئے ;

سسٹم کا استعمال کرتے ہوئے. مجموعے . عام ;

سسٹم کا استعمال کرتے ہوئے. لنک ;

کلاس ڈمی

{

جامد باطل مرکزی ( )

{

فہرست < تار > ایل = نئی فہرست < تار > ( ) { 'BlackOpium' , 'بم شیل' , 'GucciFlora' } ;

خوشبو تھا = ایل۔ ToDictionary ( ایکس => ایکس , ایکس => سچ , String Comparer۔ OrdinalIgnoreCase ) ;

اگر ( پرفیوم کنٹینزکی ( 'بم شیل' ) )

{

تسلی. رائٹ لائن ( 'بم شیل موجود ہے' ) ;

}

}

}

چونکہ لغت کو کیس کے غیر حساس موازنہ کے ساتھ بنایا گیا ہے، اس لیے 'بم شیل' کلید ڈکشنری میں اصل 'بومب شیل' کلید سے ملتی ہے۔ نتیجے کے طور پر، 'Bombshell موجود ہے' پیغام کنسول پر پرنٹ کیا جاتا ہے جیسا کہ درج ذیل منسلک آؤٹ پٹ امیج میں دکھایا گیا ہے:



مثال 2:

پچھلے کوڈ کی مثال کے اندر، ہم نے دکھایا کہ کس طرح ایک سادہ مجموعہ کو ToDictionary فنکشن کے ذریعے ڈکشنری میں تبدیل کیا جا سکتا ہے۔ اب، ہم C# ToDictionary فنکشن کے استعمال کے مظاہرے کے لیے C# کی ایک چھوٹی سی ایڈوانس کوڈ مثال کی طرف بڑھیں گے۔ آئیے کوڈ لائن کو لائن سے توڑتے ہیں۔

یہ مثالی کوڈ کا ٹکڑا ایک ہی لازمی نام کی جگہیں لا کر شروع ہوتا ہے: System, System.Collections.Generic، اور System.Linq۔ یہ نام کی جگہیں اس کوڈ کی مثال کے لیے مجموعوں اور LINQ کے ساتھ کام کرنے کے لیے مطلوبہ کلاسز اور توسیع کے طریقے فراہم کرتی ہیں۔ 'ڈمی' کلاس کی تعریف کی گئی ہے جو ایک انٹری پوائنٹ ہے۔

C# زبان کے 'مین' طریقہ کے اندر، 'L' کے نام سے ایک فہرست بنتی ہے۔ اس فہرست میں 'ڈیٹا' کلاس کی تین اشیاء ہیں جو مختلف کاسمیٹک مصنوعات کی قیمتوں اور برانڈز کے ساتھ نمائندگی کرتی ہیں۔ ہر ڈیٹا آبجیکٹ کو آبجیکٹ انیشیلائزر نحو کا استعمال کرتے ہوئے شروع کیا جاتا ہے۔ ہر چیز کی 'قیمت' اور 'برانڈ' کی خصوصیات مخصوص اقدار کے ساتھ سیٹ کی گئی ہیں۔

یہاں ToDictionary طریقہ آتا ہے۔ اسے یہاں 'L' فہرست میں کہا جاتا ہے۔ یہ فہرست کو ایک لغت میں تبدیل کرتا ہے جہاں 'قیمت' خاصیت کو کلید کے طور پر استعمال کیا جاتا ہے اور 'برانڈ' خاصیت کو قدر کے طور پر استعمال کیا جاتا ہے۔ نتیجے میں آنے والی لغت 'Dic' متغیر کو تفویض کی گئی ہے جیسا کہ درج ذیل فراہم کردہ کوڈ کے ٹکڑوں میں بتایا گیا ہے۔ 'Dic' ڈکشنری میں کلیدی قدر کے جوڑوں کو کال کرنے کے لیے ایک 'فوریچ' لوپ کاسٹ آف کیا جاتا ہے۔

لوپ کے اندر، KeyValuePair کی ساخت کی 'Key' اور 'Valeue' خصوصیات کا استعمال کرتے ہوئے ہر جوڑے کی کلید اور قدر تک رسائی حاصل کی جاتی ہے۔ Console.WriteLine فنکشن اسٹیٹمنٹ کنسول پر ہر کلیدی قدر کے جوڑے کو پرنٹ کرتا ہے۔ قیمت اور برانڈ کی معلومات کو الگ الگ ظاہر کرنے کے لیے آؤٹ پٹ کو سٹرنگ انٹرپولیشن کا استعمال کرتے ہوئے فارمیٹ کیا جاتا ہے۔

یہاں، 'ڈیٹا' کلاس کی تعریف دو خصوصیات کے ساتھ کی گئی ہے: 'قیمت' (ایک عدد جو کاسمیٹک مصنوعات کی قیمت کی نمائندگی کرتا ہے) اور 'برانڈ' (ایک تار جو کسی پروڈکٹ کے برانڈ نام کی نمائندگی کرتا ہے)۔

سسٹم کا استعمال کرتے ہوئے ;

سسٹم کا استعمال کرتے ہوئے. مجموعے . عام ;

سسٹم کا استعمال کرتے ہوئے. لنک ;

کلاس ڈمی

{

جامد باطل مرکزی ( )

{

فہرست < ڈیٹا > ایل = نئی فہرست < ڈیٹا > ( )

{

نیا ڈیٹا { قیمت = 13000 , برانڈ = 'ہدا بیوٹی' } ,

نیا ڈیٹا { قیمت = 15000 , برانڈ = 'شارلوٹ ٹیلبری' } ,

نیا ڈیٹا { قیمت = 11000 , برانڈ = 'نارس' }

} ;

ڈکشنری < int , تار > دسمبر = ایل۔ ToDictionary ( ص => ص قیمت , ص => ص برانڈ ) ;

ہر ایک کے لئے ( var v Dic میں )

{

تسلی. رائٹ لائن ( $ 'قیمت: {v.Key}، برانڈ: {v.Value}' ) ;

}

}

}

کلاس ڈیٹا

{

عوام int قیمت { حاصل کریں ; سیٹ ; }

عوامی سٹرنگ برانڈ { حاصل کریں ; سیٹ ; }

}

جب کوڈ کو عمل میں لایا جاتا ہے، تو یہ ڈیٹا آبجیکٹ کی ایک فہرست بناتا ہے، ToDictionary طریقہ استعمال کرتے ہوئے فہرست کو لغت میں تبدیل کرتا ہے، اور پھر 'foreach' لوپ کا استعمال کرتے ہوئے لغت کے کلیدی قدر کے جوڑے دکھاتا ہے۔

اس کوڈ کی مثال کے لیے آؤٹ پٹ درج ذیل میں فراہم کیا گیا ہے۔ یہ کاسمیٹک مصنوعات کی قیمتوں اور برانڈز کو دکھاتا ہے جو مخصوص خصوصیات کی بنیاد پر لغت میں ذخیرہ کیے جاتے ہیں، جو کہ کلیدی قدر کے جوڑوں میں ڈیٹا کو منظم کرنے اور اس تک رسائی کا ایک آسان طریقہ فراہم کرتے ہیں۔ پچھلے کوڈ کا آؤٹ پٹ لغت کے لیے تین ریکارڈ دکھاتا ہے:

نتیجہ

اس C# گائیڈ نے C# ToDictionary طریقہ کے استعمال کو کچھ بنیادی اور درست کوڈ عکاسیوں کے ذریعے ظاہر کیا ہے۔ کلیدی قدر کے جوڑوں کو بیان کرنے کے لیے ایک واضح اور تاثراتی طریقہ کار پیش کرتے ہوئے، ToDictionary طریقہ مجموعہ کو لغت میں تبدیل کرنا آسان بناتا ہے۔ ڈیٹا میں ہیرا پھیری اور تبدیلی کے لیے یہ ایک مضبوط C# افادیت ہے۔