C# அகராதி முறை

C Akarati Murai



C# இல் உள்ள ToDictionary செயல்பாடு என்பது LINQ நீட்டிப்புச் செயல்பாடாகும், இது ஒரு தரவு சேகரிப்பை அகராதியாக மாற்றுவதற்கு உதவுகிறது, இது தனித்தனி விசைகள் மற்றும் தொடர்புடைய மதிப்புகளுக்கு நிறுவனங்களை வரைபடமாக்க தெளிவான மற்றும் நடைமுறை வழியை வழங்குகிறது. இதற்கு இரண்டு வாதங்கள், இரண்டு பிரதிநிதிகள் அல்லது லாம்ப்டா வெளிப்பாடுகள் தேவை, ஒன்று சாவியைத் தேர்ந்தெடுப்பதற்கும், சேகரிப்பில் உள்ள ஒவ்வொரு பொருளுக்கும் மதிப்பைத் தேர்ந்தெடுப்பதற்கும் ஒன்று. இந்த கட்டுரையில், ToDictionary செயல்பாட்டின் பயன்பாடுகளை விளக்குவதற்கு சில C# குறியீடு உதாரணங்களைப் பயன்படுத்துவோம்.

தொடரியல்:

C# ToDictionary செயல்பாட்டின் பின்வரும் தொடரியலில் வழங்கப்படும் ஒவ்வொரு கூறுகளையும் ஒவ்வொன்றாக உடைத்து புரிந்துகொள்வோம்:



ஆணையாக இருந்தது = சேகரிப்பு. அகராதி ( விசைத் தேர்வாளர் , உறுப்பு தேர்வி ) ;
  • இதன் விளைவாக வரும் 'டிக்ட்' அகராதியின் வகை வகையை வரையறுக்க, 'var' முக்கிய வார்த்தை இங்கே ஒதுக்கப்பட்டுள்ளது. பெரும்பாலான சந்தர்ப்பங்களில், இது அகராதி ஆகும், இதில் K என்பது விசையின் வகை மற்றும் V என்பது அகராதி மதிப்பின் வகை வகையாகும்.
  • 'சேகரிப்பு' உறுப்பு நீங்கள் 'டிக்ட்' அகராதியாக மாற்ற விரும்பும் மூல சேகரிப்பைக் குறிக்கிறது. பட்டியல், அணிவரிசை அல்லது வினவல் முடிவு போன்ற IEnumerable இடைமுகத்தை செயல்படுத்தும் எந்த வகுப்பாகவும் இருக்கலாம்.
  • 'கீசெலக்டர்' முக்கிய வார்த்தை என்பது ஒரு பிரதிநிதி அல்லது லாம்ப்டா வெளிப்பாடு ஆகும், இது சேகரிப்பில் உள்ள ஒவ்வொரு உருப்படியிலிருந்தும் விசையை எவ்வாறு பிரித்தெடுப்பது என்பதைக் குறிப்பிடுகிறது. இது சேகரிப்பிலிருந்து ஒரு உறுப்பை ஒரு வாதமாகப் பெற்று, அந்த உருப்படிக்கான முக்கிய மதிப்பை மீண்டும் அளிக்கிறது. அகராதிகளில் நகல் விசைகள் இருக்கக்கூடாது என்பதால், சேகரிப்பில் உள்ள ஒவ்வொரு உருப்படிக்கும் விசை தனிப்பட்டதாக இருக்க வேண்டும்.
  • 'ElementSelector' முக்கிய வார்த்தையானது, சேகரிப்பில் உள்ள ஒவ்வொரு பொருளிலிருந்தும் மதிப்பை எவ்வாறு பிரித்தெடுப்பது என்பதைக் குறிப்பிடும் பிரதிநிதி அல்லது லாம்ப்டா வெளிப்பாட்டைக் குறிக்கிறது. இது சேகரிப்பின் ஒரு உறுப்பை ஒரு வாதமாகப் பெறுகிறது மற்றும் அந்த உருப்படிக்கான மதிப்பை அளிக்கிறது.

ToDictionary செயல்பாட்டைச் செயல்படுத்திய பிறகு, சேகரிப்பிலிருந்து ஒவ்வொரு உருப்படியும் ஒரு முக்கிய மதிப்பு ஜோடியாகக் குறிப்பிடப்படும் புதிய அகராதிப் பொருளைப் பெறுவீர்கள்.







எடுத்துக்காட்டு 1:

குறியீட்டு எடுத்துக்காட்டின் உதவியுடன் C# இல் ToDictionary செயல்பாட்டைப் பயன்படுத்துவதன் மூலம் இந்த வழிகாட்டியில் ஒரு புதிய தொடக்கத்தைப் பெறுவோம். அதை படிப்படியாக கடந்து செல்லலாம்.



தேவையான பெயர்வெளிகள் இறக்குமதி செய்யப்படுவதன் மூலம் குறியீடு தொடங்குகிறது: System, System.Collections.Generic மற்றும் System.Linq. இந்த பெயர்வெளிகள் சேகரிப்புகள் மற்றும் LINQ உடன் வேலை செய்ய தேவையான வகுப்புகள் மற்றும் நீட்டிப்பு முறைகளை வழங்குகின்றன. இந்த C# நிரலின் 'முதன்மை' முறையைக் கொண்டிருக்கும் 'டம்மி' வகுப்பு வரையறுக்கப்பட்டுள்ளது.



'முதன்மை' முறையின் உள்ளே, 'L' என்ற பட்டியல் உருவாக்கப்பட்டது. இந்த பட்டியலில் பயனரின் விருப்பப்படி வெவ்வேறு வாசனை திரவியங்களின் பெயர்களைக் குறிக்கும் மூன்று சரம் கூறுகள் உள்ளன. ToDictionary முறை 'L' பட்டியலில் அழைக்கப்படுகிறது. இது பட்டியலை அகராதியாக மாற்றுகிறது. பட்டியலில் உள்ள ஒவ்வொரு சரம் உறுப்பும் அதன் விளைவாக வரும் அகராதியில் விசை மற்றும் மதிப்பாக செயல்படுகிறது.





இந்த அகராதியானது StringComparer.OrdinalIgnoreCase அளவுருவைப் பயன்படுத்தி கேஸ்-இன்சென்சிட்டிவ் விசை ஒப்பீட்டைக் கொண்டு உருவாக்கப்பட்டுள்ளது, இது விசைகளின் இருப்பை சரிபார்க்கும் போது கேஸ்-சென்சிட்டிவ் ஒப்பீட்டைக் குறிப்பிட முதன்மையாகப் பயன்படுத்தப்படுகிறது. 'if' அறிக்கையானது, அகராதியில் 'வெடிகுண்டு' விசை உள்ளதா என்பதைச் சரிபார்க்கிறது. விசை கண்டுபிடிக்கப்பட்டால், 'if' பிரிவில் உள்ள குறியீடு துணுக்கு செயலாக்கப்படும். 'if' பிளாக்கிற்குள், Console.WriteLine ('Bombshell உள்ளது') அறிக்கை செயல்படுத்தப்படுகிறது, இது 'Bombshell iss' செய்தியை பணியகத்திற்கு அச்சிடுகிறது.

அமைப்பைப் பயன்படுத்தி ;

அமைப்பைப் பயன்படுத்தி. தொகுப்புகள் . பொதுவான ;

அமைப்பைப் பயன்படுத்தி. இணைப்பு ;

வகுப்பு போலி

{

நிலையான வெற்றிடமானது முக்கிய ( )

{

பட்டியல் < லேசான கயிறு > எல் = புதிய பட்டியல் < லேசான கயிறு > ( ) { 'பிளாக் ஓபியம்' , 'வெடிகுண்டு' , 'குஸ்ஸிஃப்ளோரா' } ;

வாசனை திரவியமாக இருந்தது = எல். அகராதி ( எக்ஸ் => எக்ஸ் , எக்ஸ் => உண்மை , சரம் ஒப்பிடுபவர். OrdinalIgnoreCase ) ;

என்றால் ( வாசனை. கொண்டுள்ளது கீ ( 'வெடிகுண்டு' ) )

{

பணியகம். ரைட்லைன் ( 'வெடிகுண்டு உள்ளது' ) ;

}

}

}

அகராதியானது கேஸ்-சென்சிட்டிவ் ஒப்பீட்டுடன் உருவாக்கப்பட்டதால், 'வெடிகுண்டு' விசை அகராதியில் உள்ள உண்மையான 'பாம்ப்ஷெல்' விசையுடன் பொருந்துகிறது. இதன் விளைவாக, பின்வரும் இணைக்கப்பட்ட வெளியீட்டுப் படத்தில் காட்டப்பட்டுள்ளபடி, 'பாம்ப்ஷெல் உள்ளது' செய்தி கன்சோலில் அச்சிடப்படுகிறது:



எடுத்துக்காட்டு 2:

முந்தைய குறியீட்டு எடுத்துக்காட்டில், ToDictionary செயல்பாட்டின் மூலம் ஒரு எளிய தொகுப்பை எவ்வாறு அகராதியாக மாற்றலாம் என்பதை நாங்கள் நிரூபித்தோம். இப்போது, ​​C# ToDictionary செயல்பாட்டின் செயல்பாட்டிற்காக C# இன் சிறிய மேம்பட்ட குறியீடு உதாரணத்தை நோக்கி நகர்வோம். கோட் வரியை வரியாக உடைப்போம்.

இந்த விளக்கக் குறியீடு துணுக்கை அதே கட்டாயப் பெயர்வெளிகளைக் கொண்டுவருவதன் மூலம் தொடங்குகிறது: System, System.Collections.Generic மற்றும் System.Linq. இந்த பெயர்வெளிகள் இந்த குறியீடு உதாரணத்திற்கு சேகரிப்புகள் மற்றும் LINQ உடன் வேலை செய்ய தேவையான வகுப்புகள் மற்றும் நீட்டிப்பு முறைகளை வழங்குகின்றன. 'டம்மி' வகுப்பு ஒரு நுழைவுப் புள்ளியாக வரையறுக்கப்பட்டுள்ளது.

C# மொழியின் 'முதன்மை' முறையின் உள்ளே, 'L' என்ற பெயருடைய பட்டியல் உருவாகிறது. இந்த பட்டியலில் 'டேட்டா' வகுப்பின் மூன்று பொருள்கள் உள்ளன, அவை வெவ்வேறு அழகுசாதனப் பொருட்களை அவற்றின் விலைகள் மற்றும் பிராண்டுகளுடன் பிரதிபலிக்கின்றன. ஒவ்வொரு தரவுப் பொருளும் ஆப்ஜெக்ட் இன்ஷியலைசர் தொடரியல் மூலம் துவக்கப்படுகிறது. ஒவ்வொரு பொருளின் 'விலை' மற்றும் 'பிராண்ட்' பண்புகள் குறிப்பிட்ட மதிப்புகளுடன் அமைக்கப்பட்டுள்ளன.

இங்கே ToDictionary முறை வருகிறது. இது இங்கே 'எல்' பட்டியலில் அழைக்கப்படுகிறது. இது பட்டியலை அகராதியாக மாற்றுகிறது, அங்கு 'விலை' சொத்து முக்கிய மற்றும் 'பிராண்ட்' சொத்து மதிப்பாகப் பயன்படுத்தப்படுகிறது. பின்வரும் வழங்கப்பட்ட குறியீடு துணுக்கில் குறிப்பிடப்பட்டுள்ளபடி 'Dic' மாறிக்கு விளைந்த அகராதி ஒதுக்கப்பட்டுள்ளது. 'Dic' அகராதியில் உள்ள முக்கிய மதிப்பு ஜோடிகளை அழைக்க 'foreach' லூப் அனுப்பப்பட்டது.

சுழற்சியின் உள்ளே, ஒவ்வொரு ஜோடியின் விசையும் மதிப்பும், KeyValuePair<விசை, மதிப்பு> கட்டமைப்பின் “விசை” மற்றும் “மதிப்பு” பண்புகளைப் பயன்படுத்தி அணுகப்படும். Console.WriteLine செயல்பாட்டு அறிக்கை ஒவ்வொரு விசை-மதிப்பு ஜோடியையும் கன்சோலில் அச்சிடுகிறது. விலை மற்றும் பிராண்ட் தகவலைத் தனித்தனியாகக் காண்பிக்க சர இடைக்கணிப்பைப் பயன்படுத்தி வெளியீடு வடிவமைக்கப்பட்டுள்ளது.

இங்கே, 'தரவு' வகுப்பு இரண்டு பண்புகளுடன் வரையறுக்கப்படுகிறது: 'விலை' (ஒரு ஒப்பனைப் பொருளின் விலையைக் குறிக்கும் ஒரு முழு எண்) மற்றும் 'பிராண்ட்' (ஒரு பொருளின் பிராண்ட் பெயரைக் குறிக்கும் சரம்).

அமைப்பைப் பயன்படுத்தி ;

அமைப்பைப் பயன்படுத்தி. தொகுப்புகள் . பொதுவான ;

அமைப்பைப் பயன்படுத்தி. இணைப்பு ;

வகுப்பு போலி

{

நிலையான வெற்றிடமானது முக்கிய ( )

{

பட்டியல் < தகவல்கள் > எல் = புதிய பட்டியல் < தகவல்கள் > ( )

{

புதிய தரவு { விலை = 13000 , பிராண்ட் = 'ஹுடா பியூட்டி' } ,

புதிய தரவு { விலை = 15000 , பிராண்ட் = 'சார்லோட் டெல்பரி' } ,

புதிய தரவு { விலை = 11000 , பிராண்ட் = 'நார்ஸ்' }

} ;

அகராதி < முழு எண்ணாக , லேசான கயிறு > டிச = எல். அகராதி ( => ப. விலை , => ப. பிராண்ட் ) ;

ஒவ்வொரு ( Dic இல் var v )

{

பணியகம். ரைட்லைன் ( $ 'விலை: {v.Key}, பிராண்ட்: {v.Value}' ) ;

}

}

}

வகுப்பு தரவு

{

பொது முழு எண்ணாக விலை { பெறு ; அமைக்கப்பட்டது ; }

பொது சரம் பிராண்ட் { பெறு ; அமைக்கப்பட்டது ; }

}

குறியீடு செயல்படுத்தப்படும் போது, ​​அது தரவு பொருள்களின் பட்டியலை உருவாக்குகிறது, ToDictionary முறையைப் பயன்படுத்தி பட்டியலை அகராதியாக மாற்றுகிறது, பின்னர் 'foreach' லூப்பைப் பயன்படுத்தி அகராதியின் முக்கிய மதிப்பு ஜோடிகளைக் காட்டுகிறது.

இந்த குறியீடு எடுத்துக்காட்டுக்கான வெளியீடு பின்வருவனவற்றில் வழங்கப்படுகிறது. இது குறிப்பிட்ட பண்புகளின் அடிப்படையில் அகராதியில் சேமிக்கப்படும் ஒப்பனைப் பொருட்களின் விலைகள் மற்றும் பிராண்டுகளைக் காட்டுகிறது, முக்கிய மதிப்பு ஜோடிகளில் தரவை ஒழுங்கமைக்கவும் அணுகவும் வசதியான வழியை வழங்குகிறது. முந்தைய குறியீட்டின் வெளியீடு அகராதிக்கான மூன்று பதிவுகளைக் காட்டுகிறது:

முடிவுரை

இந்த C# வழிகாட்டி சில அடிப்படை மற்றும் துல்லியமான குறியீடு விளக்கப்படங்கள் மூலம் C# ToDictionary முறையைப் பயன்படுத்துகிறது. முக்கிய மதிப்பு ஜோடிகளை விவரிக்க தெளிவான மற்றும் வெளிப்படையான வழிமுறையை வழங்குவதன் மூலம், ToDictionary முறையானது தொகுப்பை அகராதியாக மாற்றுவதை எளிதாக்குகிறது. தரவைக் கையாளவும் மாற்றவும் இது ஒரு வலுவான சி# பயன்பாடாகும்.