సి# టోడిక్షనరీ పద్ధతి

Si Todiksanari Pad Dhati



C#లోని ToDictionary ఫంక్షన్ అనేది LINQ ఎక్స్‌టెన్షన్ ఫంక్షన్, ఇది డేటా సేకరణను నిఘంటువుగా మార్చడానికి మిమ్మల్ని అనుమతిస్తుంది, ఇది ఎంటిటీలను విభిన్న కీలు మరియు సంబంధిత విలువలకు మ్యాప్ చేయడానికి స్పష్టమైన మరియు ఆచరణాత్మక మార్గాన్ని అందిస్తుంది. దీనికి రెండు ఆర్గ్యుమెంట్‌లు, రెండు డెలిగేట్‌లు లేదా లాంబ్డా ఎక్స్‌ప్రెషన్‌లు అవసరం, ఒకటి కీని ఎంచుకోవడానికి మరియు సేకరణలోని ప్రతి వస్తువుకు విలువను ఎంచుకోవడానికి అదనపు ఒకటి. ఈ వ్యాసంలో, ToDictionary ఫంక్షన్ యొక్క ఉపయోగాలను ప్రదర్శించడానికి మేము కొన్ని C# కోడ్ ఉదాహరణలను ఉపయోగిస్తాము.

సింటాక్స్:

C# ToDictionary ఫంక్షన్‌లోని క్రింది వాక్యనిర్మాణంలో అందించబడిన ప్రతి భాగాన్ని ఒక్కొక్కటిగా విభజించి అర్థం చేసుకుందాం:



నిర్దేశించబడింది = సేకరణ. నిఘంటువు ( కీసెలెక్టర్ , ఎలిమెంట్ సెలెక్టర్ ) ;
  • ఫలిత “డిక్ట్” డిక్షనరీ రకం వర్గాన్ని నిర్వచించడానికి “var” కీవర్డ్ ఇక్కడ నిలిపివేయబడింది. చాలా సందర్భాలలో, ఇది నిఘంటువు ఇక్కడ K అనేది కీ రకం మరియు V అనేది నిఘంటువు విలువ యొక్క రకం వర్గం.
  • 'సేకరణ' మూలకం మీరు 'డిక్ట్' నిఘంటువుగా మార్చాలనుకుంటున్న మూల సేకరణను సూచిస్తుంది. ఇది జాబితా, శ్రేణి లేదా ప్రశ్న ఫలితం వంటి IEnumerable ఇంటర్‌ఫేస్‌ను అమలు చేసే ఏ తరగతి అయినా కావచ్చు.
  • “కీసెలెక్టర్” కీవర్డ్ అనేది డెలిగేట్ లేదా లాంబ్డా వ్యక్తీకరణ, ఇది సేకరణలోని ప్రతి అంశం నుండి కీని ఎలా సంగ్రహించాలో నిర్దేశిస్తుంది. ఇది సేకరణ నుండి ఒక మూలకాన్ని ఆర్గ్యుమెంట్‌గా పొందుతుంది మరియు ఆ అంశం కోసం కీలక విలువను తిరిగి ఇస్తుంది. డిక్షనరీలలో డూప్లికేట్ కీలు ఉండకూడదు కాబట్టి, సేకరణలోని ప్రతి అంశానికి కీ ప్రత్యేకంగా ఉండాలి.
  • 'ఎలిమెంట్ సెలెక్టర్' కీవర్డ్ ప్రతినిధి లేదా లాంబ్డా వ్యక్తీకరణను సూచిస్తుంది, ఇది సేకరణలోని ప్రతి అంశం నుండి విలువను ఎలా సంగ్రహించాలో పేర్కొంటుంది. ఇది సేకరణలోని ఒక మూలకాన్ని ఆర్గ్యుమెంట్‌గా పొందుతుంది మరియు ఆ వస్తువుకు విలువను అందిస్తుంది.

ToDictionary ఫంక్షన్‌ని అమలు చేసిన తర్వాత, మీకు కొత్త నిఘంటువు వస్తువు ఉంటుంది, ఇక్కడ సేకరణలోని ప్రతి అంశం కీ-విలువ జతగా సూచించబడుతుంది.







ఉదాహరణ 1:

కోడ్ ఉదాహరణ సహాయంతో C#లో ToDictionary ఫంక్షన్‌ని ప్రదర్శించడం ద్వారా ఈ గైడ్‌ను కొత్తగా ప్రారంభించండి. దాని ద్వారా దశలవారీగా వెళ్దాం.



అవసరమైన నేమ్‌స్పేస్‌లను దిగుమతి చేయడంతో కోడ్ ప్రారంభమవుతుంది: System, System.Collections.Generic మరియు System.Linq. ఈ నేమ్‌స్పేసులు సేకరణలు మరియు LINQతో పని చేయడానికి అవసరమైన తరగతులు మరియు పొడిగింపు పద్ధతులను అందిస్తాయి. ఈ C# ప్రోగ్రామ్ యొక్క 'ప్రధాన' పద్ధతిని కలిగి ఉన్న 'డమ్మీ' క్లాస్ నిర్వచించబడింది.



'ప్రధాన' పద్ధతిలో, 'L' పేరుతో జాబితా సృష్టించబడుతుంది. ఈ జాబితాలో వినియోగదారు ఎంపిక చేసుకున్న వివిధ పరిమళాల పేర్లను సూచించే మూడు స్ట్రింగ్ ఎలిమెంట్స్ ఉన్నాయి. ToDictionary పద్ధతిని 'L' జాబితాలో పిలుస్తారు. ఇది జాబితాను నిఘంటువుగా మారుస్తుంది. జాబితాలోని ప్రతి స్ట్రింగ్ ఎలిమెంట్ ఫలితంగా డిక్షనరీలో కీ మరియు విలువ రెండింటిలోనూ పనిచేస్తుంది.





StringComparer.OrdinalIgnoreCase పరామితిని ఉపయోగించి కేస్-ఇన్సెన్సిటివ్ కీ పోలికతో నిఘంటువు రూపొందించబడింది, ఇది కీల ఉనికిని తనిఖీ చేస్తున్నప్పుడు కేస్-ఇన్సెన్సిటివ్ పోలికను పేర్కొనడానికి ప్రధానంగా ఉపయోగించబడుతుంది. 'if' స్టేట్‌మెంట్ డిక్షనరీలో 'బాంబ్‌షెల్' కీని కలిగి ఉందో లేదో తనిఖీ చేస్తుంది. కీ కనుగొనబడితే, 'if' విభాగంలోని కోడ్ స్నిప్పెట్ ప్రాసెస్ చేయబడుతుంది. “if” బ్లాక్ లోపల, Console.WriteLine(“బాంబ్‌షెల్ ఉనికిలో ఉంది”) స్టేట్‌మెంట్ అమలు చేయబడుతుంది, ఇది కన్సోల్‌కు “బాంబ్‌షెల్ ఉనికిలో ఉంది” సందేశాన్ని ముద్రిస్తుంది.

సిస్టమ్ ఉపయోగించి ;

సిస్టమ్ ఉపయోగించి. సేకరణలు . సాధారణమైనది ;

సిస్టమ్ ఉపయోగించి. లింక్ ;

తరగతి డమ్మీ

{

స్థిరమైన శూన్యం ప్రధాన ( )

{

జాబితా < స్ట్రింగ్ > ఎల్ = కొత్త జాబితా < స్ట్రింగ్ > ( ) { 'బ్లాక్ ఓపియం' , 'బాంబు షెల్' , 'గూచీఫ్లోరా' } ;

పెర్ఫ్యూమ్ ఉంది = ఎల్. నిఘంటువు ( x => x , x => నిజం , StringComparer. ఆర్డినల్ ఇగ్నోర్కేస్ ) ;

ఉంటే ( పెర్ఫ్యూమ్. కీని కలిగి ఉంది ( 'బాంబు షెల్' ) )

{

కన్సోల్. రైట్ లైన్ ( 'బాంబు షెల్ ఉంది' ) ;

}

}

}

నిఘంటువు కేస్-సెన్సిటివ్ పోలికతో సృష్టించబడినందున, “బాంబ్‌షెల్” కీ డిక్షనరీలోని అసలు “బాంబ్‌షెల్” కీతో సరిపోతుంది. ఫలితంగా, కింది జోడించిన అవుట్‌పుట్ ఇమేజ్‌లో ప్రదర్శించబడినట్లుగా “బాంబ్‌షెల్ ఉనికిలో ఉంది” సందేశం కన్సోల్‌లో ముద్రించబడుతుంది:



ఉదాహరణ 2:

మునుపటి కోడ్ ఉదాహరణలో, ToDictionary ఫంక్షన్ ద్వారా సాధారణ సేకరణను నిఘంటువుగా ఎలా మార్చవచ్చో మేము ప్రదర్శించాము. ఇప్పుడు, మేము C# ToDictionary ఫంక్షన్ ఉపయోగాల ప్రదర్శన కోసం C# యొక్క కొద్దిగా అధునాతన కోడ్ ఉదాహరణ వైపు వెళ్తాము. లైన్ ద్వారా కోడ్ లైన్‌ను విచ్ఛిన్నం చేద్దాం.

ఈ ఇలస్ట్రేషన్ కోడ్ స్నిప్పెట్ అదే నిర్బంధ నేమ్‌స్పేస్‌లను తీసుకురావడం ద్వారా ప్రారంభమవుతుంది: System, System.Collections.Generic మరియు System.Linq. ఈ నేమ్‌స్పేస్‌లు ఈ కోడ్ ఉదాహరణ కోసం సేకరణలు మరియు LINQతో పని చేయడానికి అవసరమైన తరగతులు మరియు పొడిగింపు పద్ధతులను అందిస్తాయి. 'డమ్మీ' తరగతి నిర్వచించబడింది, ఇది ఒక ప్రవేశ స్థానం.

C# భాష యొక్క “మెయిన్” పద్ధతిలో, “L” పేరుతో జాబితా ఏర్పడుతుంది. ఈ జాబితాలో 'డేటా' తరగతికి చెందిన మూడు వస్తువులు ఉన్నాయి, ఇవి వివిధ కాస్మెటిక్ ఉత్పత్తులను వాటి ధరలు మరియు బ్రాండ్‌లతో సూచిస్తాయి. ప్రతి డేటా ఆబ్జెక్ట్ ఆబ్జెక్ట్ ఇనిషియలైజర్ సింటాక్స్ ఉపయోగించి ప్రారంభించబడుతుంది. ప్రతి వస్తువు యొక్క 'ధర' మరియు 'బ్రాండ్' లక్షణాలు నిర్దిష్ట విలువలతో సెట్ చేయబడ్డాయి.

ఇక్కడ ToDictionary పద్ధతి వస్తుంది. ఇది ఇక్కడ 'L' జాబితాలో పిలువబడుతుంది. ఇది జాబితాను నిఘంటువుగా మారుస్తుంది, ఇక్కడ “ధర” లక్షణాన్ని కీగా మరియు “బ్రాండ్” ఆస్తి విలువగా ఉపయోగించబడుతుంది. కింది అందించిన కోడ్ స్నిప్పెట్‌లో పేర్కొన్న విధంగా ఫలిత నిఘంటువు “Dic” వేరియబుల్‌కు కేటాయించబడుతుంది. “డిక్” డిక్షనరీలోని కీ-వాల్యూ జతలపై కాల్ చేయడానికి “ఫోరీచ్” లూప్ కాస్ట్ ఆఫ్ చేయబడింది.

లూప్ లోపల, ప్రతి జత యొక్క కీ మరియు విలువ KeyValuePair<కీ, విలువ> నిర్మాణం యొక్క “కీ” మరియు “విలువ” లక్షణాలను ఉపయోగించి యాక్సెస్ చేయబడతాయి. Console.WriteLine ఫంక్షన్ స్టేట్‌మెంట్ ప్రతి కీ-విలువ జతను కన్సోల్‌కు ప్రింట్ చేస్తుంది. ధర మరియు బ్రాండ్ సమాచారాన్ని విడిగా ప్రదర్శించడానికి స్ట్రింగ్ ఇంటర్‌పోలేషన్ ఉపయోగించి అవుట్‌పుట్ ఫార్మాట్ చేయబడింది.

ఇక్కడ, 'డేటా' తరగతి రెండు లక్షణాలతో నిర్వచించబడింది: 'ధర' (కాస్మెటిక్ ఉత్పత్తి యొక్క ధరను సూచించే పూర్ణాంకం) మరియు 'బ్రాండ్' (ఒక ఉత్పత్తి యొక్క బ్రాండ్ పేరును సూచించే స్ట్రింగ్).

సిస్టమ్ ఉపయోగించి ;

సిస్టమ్ ఉపయోగించి. సేకరణలు . సాధారణమైనది ;

సిస్టమ్ ఉపయోగించి. లింక్ ;

తరగతి డమ్మీ

{

స్థిరమైన శూన్యం ప్రధాన ( )

{

జాబితా < సమాచారం > ఎల్ = కొత్త జాబితా < సమాచారం > ( )

{

కొత్త డేటా { ధర = 13000 , బ్రాండ్ = 'హుడా బ్యూటీ' } ,

కొత్త డేటా { ధర = 15000 , బ్రాండ్ = 'షార్లెట్ టెల్బరీ' } ,

కొత్త డేటా { ధర = 11000 , బ్రాండ్ = 'నార్స్' }

} ;

నిఘంటువు < int , స్ట్రింగ్ > డిసెంబర్ = ఎల్. నిఘంటువు ( p => p. ధర , p => p. బ్రాండ్ ) ;

ప్రతి ( డిసిలో var v )

{

కన్సోల్. రైట్ లైన్ ( $ 'ధర: {v.Key}, బ్రాండ్: {v.Value}' ) ;

}

}

}

తరగతి డేటా

{

ప్రజా int ధర { పొందండి ; సెట్ ; }

పబ్లిక్ స్ట్రింగ్ బ్రాండ్ { పొందండి ; సెట్ ; }

}

కోడ్ అమలు చేయబడినప్పుడు, అది డేటా ఆబ్జెక్ట్‌ల జాబితాను సృష్టిస్తుంది, ToDictionary పద్ధతిని ఉపయోగించి జాబితాను నిఘంటువుగా మారుస్తుంది, ఆపై 'foreach' లూప్‌ని ఉపయోగించి నిఘంటువు యొక్క కీ-విలువ జతలను ప్రదర్శిస్తుంది.

ఈ కోడ్ ఉదాహరణ కోసం అవుట్‌పుట్ కింది వాటిలో అందించబడింది. ఇది నిర్దిష్ట లక్షణాల ఆధారంగా డిక్షనరీలో నిల్వ చేయబడిన కాస్మెటిక్ ఉత్పత్తుల ధరలు మరియు బ్రాండ్‌లను చూపుతుంది, కీ-విలువ జతలలో డేటాను నిర్వహించడానికి మరియు యాక్సెస్ చేయడానికి అనుకూలమైన మార్గాన్ని అందిస్తుంది. మునుపటి కోడ్ అవుట్‌పుట్ నిఘంటువు కోసం మూడు రికార్డులను చూపుతుంది:

ముగింపు

ఈ C# గైడ్ కొన్ని ప్రాథమిక మరియు ఖచ్చితమైన కోడ్ దృష్టాంతాల ద్వారా C# ToDictionary పద్ధతిని ఉపయోగించడాన్ని ప్రదర్శించింది. కీ-విలువ జతలను వివరించడానికి స్పష్టమైన మరియు వ్యక్తీకరణ యంత్రాంగాన్ని అందించడం ద్వారా, ToDictionary పద్ధతి సేకరణను నిఘంటువుగా మార్చడాన్ని సులభతరం చేస్తుంది. డేటాను మార్చడానికి మరియు మార్చడానికి ఇది బలమైన C# యుటిలిటీ.