சி # டுடோரியல்: நீங்கள் சி # ஐ மாஸ்டர் செய்ய வேண்டிய அடிப்படைகள்



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

சி # என்பது அனைத்து நோக்கங்களுக்காகவும், மைக்ரோசாஃப்ட் கார்ப்பரேஷன் 2000 ஆம் ஆண்டில் ஜாவாவிற்கு ஒரு கொடிய போட்டியாளராக உருவாக்கிய வலுவான நிரலாக்க மொழியாகும். வலை அபிவிருத்தி மற்றும் டெஸ்க்டாப் பயன்பாட்டு மேம்பாடு ஆகிய இரண்டிற்கும் இது மிகவும் பிரபலமானது மற்றும் ஆதிக்கம் செலுத்தும் நிரலாக்க மொழியாகும்.

இந்த சி # டுடோரியலில், பின்வரும் கருத்துகளைக் கற்றுக்கொள்வோம்.





சி # அடிப்படைகள்

சி # புரோகிராமிங் மொழியின் அறிமுகம்

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



C#-Tutorial-hejlsberg_bio

இது 2000 ஆம் ஆண்டில், ஆண்டர்ஸ் ஹெஜ்ஸ்பெர்க் மற்றும் அவரது மைக்ரோசாப்ட் குழு சி-ஷார்ப் என்று பிரபலமாக அழைக்கப்படும் சி # யோசனையுடன் வந்தது. இந்த முயற்சியை சர்வதேச தர நிர்ணய அமைப்பு அங்கீகரித்தது (மேஜர்) மற்றும் ஐரோப்பிய கணினி உற்பத்தியாளர்கள் சங்கம் (ECMA). இறுதியாக, சி # மென்பொருள் மேம்பாட்டு உலகில் நுழைகிறது.

சி # புரோகிராமிங் மொழியின் அம்சங்கள்



  • பொருள் சார்ந்த நிரலாக்க மொழி

ஆப்ஜெக்ட்-ஓரியண்டட் புரோகிராமிங் அணுகுமுறைதான் சி # ஐ மிகவும் புரோகிராமர் நட்பாகவும், நிரலாக்க மொழியை உருவாக்க மற்றும் பராமரிக்க எளிதாகவும் ஆக்குகிறது.

  • வகை-பாதுகாப்பான மொழி

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

  • இயங்கக்கூடிய தன்மை

இன்டரொபரபிலிட்டி அம்சம் சி # ஐ சொந்தமாகக் கொண்ட அனைத்தையும் சி ++ ஐ விட திறம்பட செய்யக்கூடிய வகையில் சி ++ ஐ திறம்பட செய்கிறது.

  • பணக்கார நூலகம்

சி # அபிவிருத்திச் செயல்பாட்டில் செலவழித்த நேரத்தைக் குறைக்க முன்கூட்டியே திட்டமிடப்பட்ட செயல்பாடுகளை வழங்கும் பல உள்ளமைக்கப்பட்ட நூலகங்களுக்கான அணுகலை வழங்குகிறது.

  • அளவிடக்கூடிய மற்றும் புதுப்பிக்கத்தக்கது

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

  • கூறு சார்ந்த

மைக்ரோசாப்டில் உள்ள டெவலப்பர்கள் சி # ஐ உருவாக்க கூறு அடிப்படையிலான அணுகுமுறையைப் பயன்படுத்தினர். சி # ஐ மிகவும் அளவிடக்கூடியதாகவும் புதுப்பிக்கப்பட்டதாகவும் வைத்திருக்க இது மிகவும் முக்கியத்துவம் வாய்ந்த வளர்ச்சி முறையாகும்.

  • கட்டமைக்கப்பட்ட மொழி

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

  • வேகமாக

சி # மற்றும் பிற நிரலாக்க மொழிகளுடன் ஒப்பிடும்போது சி # புரோகிராமிங் தொகுப்பு மற்றும் செயல்பாட்டில் வேகமாக இருக்கும்.

நிறுவல்

அது நிரூபிக்கப்பட்டுள்ளது மைக்ரோசாஃப்ட் விஷுவல் ஸ்டுடியோ சி # புரோகிராமிங்கிற்கான வகுப்பு எடிட்டரில் சிறந்தது. கீழே குறிப்பிடப்பட்டுள்ள படிகளைப் பின்பற்றி எங்கள் சி # நிரல்களை இயக்க மைக்ரோசாஃப்ட் விஷுவல் ஸ்டுடியோவை நிறுவி அமைப்போம்:

படி 1 : மைக்ரோசாஃப்ட் விஷுவல் ஸ்டுடியோவைப் பதிவிறக்கவும்

கூகிள் விஷுவல் ஸ்டுடியோவின் சமீபத்திய பதிப்பு மற்றும் பதிவிறக்க நிறுவு உங்கள் உள்ளூர் கணினியில் கோப்பு ஓடு நிறுவி கோப்பு ஒரு என நிர்வாகி.

படி 2: .NET டெஸ்க்டாப் மேம்பாட்டு தொகுப்பைத் தேர்ந்தெடுக்கவும்

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

படி 3: சி # சூழலை அமைக்கவும்

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

படி 4: உங்கள் முதல் திட்டத்தை உருவாக்கவும்

சூழல் அமைக்கப்பட்டதும், நீங்கள் அனைவரும் செல்ல நல்லது. உங்கள் விஷுவல் ஸ்டுடியோவைத் தொடங்கி தேர்ந்தெடுக்கவும் புதிய திட்டத்தை உருவாக்கவும் காட்டப்படும் உரையாடல் பெட்டியில் விருப்பம்.

நீங்கள் அடுத்த உரையாடல் பெட்டிக்கு திருப்பி விடப்படுவீர்கள், அங்கு நீங்கள் வகுப்பு நூலகத்தைத் தேர்ந்தெடுக்க வேண்டும் .NET தரநிலை கீழே காட்டப்பட்டுள்ளது போல்.

அடுத்த உரையாடல் பெட்டியில், உங்களிடம் கேட்கப்படும் உங்கள் திட்டத்தை உள்ளமைக்கவும் . அதை உள்ளமைக்கவும், நீங்கள் இப்போது எடிட்டரில் இருக்கிறீர்கள். உங்கள் முதல் நிரலை எழுதுங்கள் ஓடு அது. வெளியீடு வெற்றிகரமாக காண்பிக்கப்படும் கட்டளை வரியில்.

கணினி வகுப்பைப் பயன்படுத்துதல் எடூரெகா {நிலையான வெற்றிடம் முதன்மை (சரம் [] ஆர்க்ஸ்) {கன்சோல்.ரைட்லைன் ('எடுரேகாவுக்கு வருக!, மகிழ்ச்சியான கற்றல் ..!')}}

// வெளியீடு:

எங்கள் முதல் சி # திட்டத்தை செயல்படுத்துவோம்.

சி # நிரல் அமைப்பு

இப்போது நாங்கள் எங்கள் முதல் சி # திட்டத்தை செயல்படுத்தியுள்ளோம், அதன் கட்டமைப்பை விரிவாக புரிந்துகொள்வோம். ஒரு எளிய சி # நிரல் பின்வரும் பகுதிகளைக் கொண்டுள்ளது.

கணினி பெயர்வெளியைப் பயன்படுத்துதல் கன்சோல் பயன்பாடு 1 {பொது வகுப்பு எடுரேகா {பொது நிலையான வெற்றிடத்தை முதன்மை (சரம் [] ஆர்க்ஸ்) {கன்சோல்.ரைட்லைன் ('எடுரேகாவுக்கு வரவேற்கிறோம்!, மகிழ்ச்சியான கற்றல் ..!')}}}

// வெளியீடு:

எடுரேகாவுக்கு வருக!, இனிய கற்றல் ..!

  • வர்க்கம்: வர்க்கத்தை பொதுவாக a என வரையறுக்கலாம் முக்கிய சொல் இது சி # நிரலில் ஒரு வகுப்பை வரையறுக்கப் பயன்படுகிறது.
  • எடுரேகா: இது பெயர் வர்க்கம். வகுப்பு பெரும்பாலும் உறுப்பினர்கள் மற்றும் முறைகளுடன் தொடர்புடைய முறைகளை சேமிக்கும் ஒரு வரைபடமாக கருதப்படுகிறது.
  • முதன்மை: அடிப்படையில் முதன்மை முறை முழு சி # நிரலிலும், நிரலுக்குள் நுழைவதற்கான கட்டுப்பாட்டு நுழைவாயிலாக இது செயல்படுகிறது. நிரலின் வேறு எந்த முறையும் செயல்படுத்தப்படுவதற்கு முன்பு இது செயல்படுத்தப்படும்.
  • வெற்றிடம்: குறியீட்டின் இந்த பிரிவு திரும்ப வகை முறை. இது வெற்றிடத்தைத் தவிர வேறு எந்த தரவுத்தளமாகவும் இருக்கலாம். வெற்றிடமானது, முறையிலிருந்து எந்தத் தரவும் திரும்பப் பெறப்படுவதில்லை.
  • நிலையான: இது ஒரு முக்கிய சொல் இது அறிவிக்கப்பட்ட தரவு உறுப்பினர்கள் நிலையானது என்றும் அறிவிக்கப்பட்ட உறுப்பினர்களுக்கு ஒரு பிரத்யேக நினைவகம் ஒதுக்கப்படுவதாகவும் இது கூறுகிறது.
  • சரம் [] ஆர்க்ஸ்: இது எங்கள் நிரலில் நாம் பயன்படுத்தும் கட்டளை வரி வாதங்களை ஒத்திருக்கிறது. நாங்கள் எங்கள் நிரலை இயக்கும்போது, ​​சிலவற்றை நாங்கள் கடந்து செல்கிறோம் வாதங்கள், இந்த அறிக்கையின் காரணமாக இது நிரலால் ஏற்றுக்கொள்ளப்படும்.
  • System.Console.WriteLine (“எடுரேகாவுக்கு வருக!, மகிழ்ச்சியான கற்றல் ..!”) இங்கே, அமைப்பு என்பது பெயர்வெளி. பணியகம்வகை கோடிட்டுக் காட்டப்பட்டுள்ளதுகணினி பெயர்வெளியில். தி ரைட்லைன் () அதுதான்நிலையானநுட்பம்கன்சோலின்எழுதுவதற்குப் பயன்படுத்தப்படும் வகைகன்சோலில் உள்ள உரை.

இப்போது, ​​சி # இல் கிடைக்கும் தரவுத்தொகுப்புகளைக் கற்றுக்கொள்வோம்.

தரவுத்தொகுப்புகள்

சி # இல் உள்ள தரவுத்தொகுப்புகள் மூன்று வகைகளாக பிரிக்கப்பட்டுள்ளன.

மதிப்பு தரவுத்தொகுப்புகள்

தி மதிப்பு தரவுத்தொகுப்புகள் இல் அமைந்துள்ளது System.ValueType நூலகம் மற்றும் எப்போதும் நேரடியாக அணுக தயாராக உள்ளது மற்றும் மாறிகள் ஒரு குறிப்பிட்ட மதிப்புக்கு நேரடியாக ஒதுக்கப்படலாம். கீழே காட்டப்பட்டுள்ளபடி மதிப்பு தரவுத்தொகுப்புகள் மேலும் இரண்டு வகைகளாக வகைப்படுத்தப்படுகின்றன:

  • முன் வரையறுக்கப்பட்ட தரவு வகைகள்
  • பயனர் வரையறுக்கப்பட்ட தரவுத்தொகுப்புகள்

முன் வரையறுக்கப்பட்ட தரவு வகைகள்: இவைதான் நம் அன்றாட நிரலாக்கத்தில் பொதுவாகப் பயன்படுத்துகிறோம். இந்த தரவுத்தொகுப்புகள் மொழி உருவாக்குநர்களால் முன் வரையறுக்கப்பட்டுள்ளன, மேலும் அவை புரோகிராமர்களுக்கு பயன்படுத்த தயாராக உள்ளன.

உதாரணமாக:

int, float, char, short double, etc

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

எடுத்துக்காட்டு: கட்டமைப்பு, எனம்

டேட்டாடைப் நினைவகத்தின் வரம்பு ஒதுக்கப்பட்டுள்ளது நினைவக அளவு
கையொப்பமிடப்பட்ட கரி -128 முதல் 127 வரை 1 பைட்
கையொப்பமிடாத கரி 0 முதல் 127 வரை 1 பைட்
கரி -128 முதல் 127 வரை 1 பைட்
குறுகிய கையொப்பமிடப்பட்டது -32,768 முதல் 32,767 வரை 2 பைட்டுகள்
கையொப்பமிடாத குறுகிய 0 முதல் 65,535 வரை 2 பைட்டுகள்
குறுகிய -32,768 முதல் 32,767 வரை 2 பைட்டுகள்
கையொப்பமிடப்பட்ட எண்ணாக -2,147,483,648 முதல் -2,147,483,647 வரை 4 பைட்டுகள்
கையொப்பமிடாத எண்ணாக 0 முதல் 4,294,967,295 வரை 4 பைட்டுகள்
எண்ணாக -2,147,483,648 முதல் -2,147,483,647 வரை 4 பைட்டுகள்
நீண்ட கையெழுத்திட்டது -9,223,372,036,854,775,808 முதல் 9,223,372,036,854,775,807 8 பைட்டுகள்
கையொப்பமிடாத நீண்ட 0 முதல் 18,446,744,073,709,551,615 வரை 8 பைட்டுகள்
நீண்டது -9,223,372,036,854,775,808 முதல் 9,223,372,036,854,775,807 8 பைட்டுகள்
மிதவை 1.5 * 10-45 - 3.4 * 1038, (7 இலக்க துல்லியம்) 4 பைட்டுகள்
இரட்டை 5.0 * 10-324 - 1.7 * 10308, (15 இலக்க துல்லியம்) 8 பைட்டுகள்
தசம -7.9 * 10-28 - 7.9 * 1028, (28 இலக்க துல்லியம்) 16 பைட்டுகள்


சுட்டிக்காட்டி தரவு வகை

சுட்டிக்காட்டி வகை ஒரு எளிய தரவு வகை. அதன் செயல்பாடு சி இல் உள்ள சுட்டிகள் முற்றிலும் ஒத்திருக்கிறது. அவை மற்றொரு சுட்டிக்காட்டியின் முகவரியை சேமிக்க வடிவமைக்கப்பட்டுள்ளன.

float * ptr

குறிப்பு தரவுத்தொகுப்புகள்

பெயர் சுய விளக்கமளிக்கும். தி குறிப்பு தரவுத்தொகுப்புகள் உண்மையில் மாறிகள் சேமிக்க வேண்டாம், அதற்கு பதிலாக, அவை குறிப்பிட்ட மாறிக்கு குறிப்பு மதிப்பை சேமிக்கின்றன. வேறு வார்த்தைகளில் கூறுவதானால், அவை உண்மையான மாறியின் முகவரியை சேமிக்கின்றன.

குறிப்பு மாறிகள் கீழே குறிப்பிடப்பட்டுள்ளபடி மூன்று வெவ்வேறு வகைகளாக வகைப்படுத்தப்பட்டுள்ளன:

  • பொருள் வகை

பொருள் தரவு வகை கிடைக்கிறது System.Object வர்க்கம்.அந்த பொருள்வகைகள்இருக்கமுடியும்ஒதுக்கப்பட்டுள்ளதுஇன் மதிப்புகள்மற்ற வகைகள்,குறிப்புவகைகள், முன் வரையறுக்கப்பட்ட, பயனர் வரையறுக்கப்பட்டவகைகள். ஆனால், முன்புபணிமதிப்புகள், அதற்கு தேவை வகை மாற்றம்.

பொருள் abc abc = 50 // இது குத்துச்சண்டை என்று அழைக்கப்படுகிறது
  • டைனமிக் வகை

டைனமிக் வகை மாறிகள் கிட்டத்தட்ட அனைத்து வகையான மதிப்புகளையும் சேமிக்க வடிவமைக்கப்பட்டுள்ளன. மதிப்புகளின் வகை சரிபார்ப்பு ரன் நேரத்தில் நடைபெறுவதால் இது டைனமிக் வகை என்று அழைக்கப்படுகிறது

டைனமிக் x = 10
  • சரம் வகை

சரம் வகை கிடைக்கிறது System.String வர்க்கம். சரம் வகை சரம் எழுத்தர்களை சேமிக்க வடிவமைக்கப்பட்டுள்ளது. சரம் எழுத்தாளர்கள் இரண்டு வடிவங்களில் சேமிக்கப்படுகிறார்கள்இரண்டு வடிவங்கள்

    • மேற்கோள் காட்டப்பட்டுள்ளது
    • ot மேற்கோள்.
சரம் எஸ் = 'எடுரேகா'
  • தி ot மேற்கோள் சரம் உண்மையில் தெரிகிறது
Ed 'எடுரேகா'

இப்போது மாறிகள் புரிந்து கொள்வோம்.

மாறிகள்

பயனரால் கொடுக்கப்பட்ட சில தரவை சேமித்து வைக்கும் நினைவக இருப்பிடத்திற்கு ஒதுக்கப்பட்ட பெயர்கள்தான் மாறிகள் மற்றும் மாறி பெயரைப் பயன்படுத்தி தரவை எளிதில் அணுக முடியும். சி # இல் ஐந்து வகையான மாறிகள் உள்ளன

வகை உதாரணமாக
ஏதுமில்லை பூஜ்ய தரவு
பூலியன் உண்மை மற்றும் தவறு
முழு இன்ட், சார், பைட், குறுகிய, நீண்ட
மிதவை மிதவை மற்றும் இரட்டை
தசம தசம

உதாரணமாக:

int a, b double x float p char abc

சி # இல் மாறிகள் அறிவிக்க பின்பற்ற வேண்டிய விதிகள்

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

ஆபரேட்டர்கள்

ஒரு ஆபரேட்டரை ஒரு சிறப்பு குறியீடாக வரையறுக்கலாம், இது ஒரு குறிப்பிட்ட கணிதத்தை செய்ய கணினியை விளக்குகிறது, இது ஒரு மாறிகளின் தொகுப்பின் மீது ஒரு தருக்க செயல்பாடு ஆகும். சி # கீழே குறிப்பிடப்பட்டுள்ள பல்வேறு ஆபரேட்டர்களை உள்ளடக்கியது.

  • எண்கணித ஆபரேட்டர்கள்
  • தொடர்புடைய ஆபரேட்டர்கள்
  • தருக்க ஆபரேட்டர்கள்
  • பிட்வைஸ் ஆபரேட்டர்கள்
  • அசைன்மென்ட் ஆபரேட்டர்கள்

எண்கணித ஆபரேட்டர்கள்

ஆபரேட்டர் உதாரணமாக விளக்கம்
+ அ + பி இரண்டு செயல்பாடுகளைச் சேர்க்கிறது
- அ - பி இரண்டு செயல்பாடுகளை சுருக்கமாகக் கூறுகிறது
* அ * பி இரண்டு செயல்பாடுகளை பெருக்குகிறது
/ எ / பி இரண்டு செயல்பாடுகளை பிரிக்கிறது
% ஒரு% பி மீதமுள்ள இரண்டு செயல்பாடுகள்
++ எ ++ அதிகரிப்பு செயல்பாடு
- TO- குறைப்பு செயல்பாடு

தொடர்புடைய ஆபரேட்டர்கள்

ஆபரேட்டர் உதாரணமாக விளக்கம்
== அ == பி உண்மை, இரண்டு செயல்பாடுகளும் சமமாக இருந்தால், வேறு தவறு
! = அ! = பி உண்மை, இரண்டு செயல்பாடுகளும் சமமாக இல்லாவிட்டால், வேறு தவறு
> அ> பி உண்மை, A கிரேட்டர் என்றால், வேறு தவறு
< TO உண்மை, பி கிரேட்டர் என்றால், வேறு தவறு
> = அ> = பி உண்மை, A பெரியதாகவோ அல்லது சமமாகவோ இருந்தால், வேறு தவறு
<= TO<= B உண்மை, ஐடி பி கிரேட்டர் சமம், வேறு தவறு

தருக்க ஆபரேட்டர்கள்

ஆபரேட்டர் உதாரணமாக விளக்கம்
&& அ && பி உண்மை, இரண்டு செயல்பாடுகளும் உண்மையாக இருந்தால், வேறு தவறு
|| அ || பி உண்மை, இயக்கங்களில் ஒன்று உண்மையாக இருந்தால், வேறு தவறு
! அ! பி செயல்பாட்டின் தர்க்கரீதியான நிலையை மாற்றியமைக்கிறது

பிட்வைஸ் ஆபரேட்டர்கள்

TO பி அ & பி அ | பி அ ^ பி
ஒன்று ஒன்று ஒன்று ஒன்று 0
ஒன்று 0 0 ஒன்று ஒன்று
0 ஒன்று 0 ஒன்று ஒன்று
0 0 0 0 0
ஆபரேட்டர் உதாரணமாக விளக்கம்
~ (~ அ) பைனரி ஒன் காம்ப்ளிமென்ட் ஆபரேட்டர் ஒற்றுமையற்றது மற்றும் ‘புரட்டுதல்’ பிட்களின் விளைவைக் கொண்டுள்ளது.
<< TO<<2 பைனரி இடது ஷிப்ட் ஆபரேட்டர். இடது இயக்கத்தின் மதிப்பு வலது இயக்கத்தால் குறிப்பிடப்பட்ட பிட்களின் எண்ணிக்கையால் இடப்பக்கம் நகர்த்தப்படுகிறது.
>> ஒரு >> 2 பைனரி ரைட் ஷிப்ட் ஆபரேட்டர். இடது இயக்கத்தின் மதிப்பு வலது இயக்கத்தால் குறிப்பிடப்பட்ட பிட்களின் எண்ணிக்கையால் வலதுபுறமாக நகர்த்தப்படுகிறது.

அசைன்மென்ட் ஆபரேட்டர்கள்

ஆபரேட்டர் உதாரணமாக விளக்கம்
= அ = பி + சி A = B + C, B + C A க்கு ஒதுக்கப்படுகிறது
+ = அ + = பி A = A + B, A + B A க்கு ஒதுக்கப்படுகிறது
- = அ - = பி A = A-B, A-B A க்கு ஒதுக்கப்படுகிறது
* = அ - = பி A = A * B, A * B A க்கு ஒதுக்கப்பட்டுள்ளது
/ = அ / = பி A = A / B, A / B A க்கு ஒதுக்கப்படுகிறது
% = ஒரு% = பி A = A% B, A% B A க்கு ஒதுக்கப்படுகிறது
<<= TO<<= 2 இடது ஷிப்ட் மற்றும் அசைன்மென்ட் ஆபரேட்டர்
>> = அ >> = 2 வலது ஷிப்ட் மற்றும் அசைன்மென்ட் ஆபரேட்டர்
& = அ & = 2 பிட்வைஸ் மற்றும் அசைன்மென்ட் ஆபரேட்டர்
^ = அ ^ = 2 பிட்வைஸ் பிரத்தியேக மற்றும் அசைன்மென்ட் ஆபரேட்டர்
| = அ! = 2 பிட்வைஸ் உள்ளடக்கிய மற்றும் அசைன்மென்ட் ஆபரேட்டர்

சுழல்கள்

TO வளைய ஒரு குறிப்பிட்ட நிபந்தனை திருப்தி அடையும் வரை அறிக்கைகளின் தொகுப்பை மீண்டும் மீண்டும் செயல்படுத்த அறிக்கை பயன்படுத்தப்படுகிறது. சி # மொழி பின்வரும் லூப் அறிக்கைகளைக் கொண்டுள்ளது.

  • லூப்பிற்கு
  • லூப் போது
  • லூப் போது செய்யுங்கள்

லூப்பிற்கு

தி வளையத்திற்கு கொடுக்கப்பட்ட நிபந்தனை திருப்தி அடையும் வரை ஒரு குறிப்பிட்ட குறியீடு பிரிவை பல முறை இயக்க பயன்படுகிறது.

தொடரியல்

(துவக்க நிலை அதிகரிப்பு / குறைவு) {// குறியீடு பிரிவு}

ஃப்ளோசார்ட்:

உதாரணமாக:

கணினி பொது வகுப்பைப் பயன்படுத்துதல் ForExample {public static void முதன்மை (சரம் [] args) {(int i = 1 i<= 5 i++) { Console.WriteLine(i) } } } 

// வெளியீடு:

ஒன்று
2
3
4
5

லூப் போது

தி லூப் போது ஒரு குறிப்பிட்ட நிபந்தனை திருப்தி அடையும் வரை பல முறை குறியீடு பிரிவை இயக்க பயன்படுகிறது.

தொடரியல்

(நிபந்தனை) {// குறியீடு செயல்படுத்தப்பட வேண்டும்}

ஃப்ளோசார்ட்:

உதாரணமாக:

கணினி பெயர்வெளி சுழல்கள் {வகுப்பு நிரல் {நிலையான வெற்றிடத்தை முதன்மை (சரம் [] ஆர்க்ஸ்) {int x = 5 போது (x<= 10) { Console.WriteLine('The value of a: {0}', x) x++ } Console.ReadLine() } } } 

// வெளியீடு:

ஒரு: 5 இன் மதிப்பு
ஒரு மதிப்பு: 6
ஒரு: 7 இன் மதிப்பு
ஒரு: 8 இன் மதிப்பு
ஒரு: 9 இன் மதிப்பு
ஒரு: 10 இன் மதிப்பு

ஜாவா பீன் என்றால் என்ன

லூப் போது செய்யுங்கள்

லூப் முற்றிலும் லூப்பிற்கு ஒத்ததாக இருக்கும்போது செய்யுங்கள், ஆனால் ஒரே வித்தியாசம் என்னவென்றால், நிலை லூப்பின் முடிவில் வைக்கப்படுகிறது. எனவே, லூப் ஒரு முறையாவது செயல்படுத்தப்படுகிறது.

தொடரியல்

condition // குறியீட்டை செயல்படுத்த வேண்டும்} போது (நிபந்தனை)

ஃப்ளோசார்ட்:

உதாரணமாக:

கணினி பெயர்வெளியைப் பயன்படுத்துதல் எடுரேகா {வகுப்பு டூவில்லூப் {பொது நிலையான வெற்றிடத்தை முதன்மை (சரம் [] ஆர்க்ஸ்) {int i = 1, n = 5, தயாரிப்பு செய்யுங்கள் {தயாரிப்பு = n * i கன்சோல்.ரைட்லைன் ('{0} * {1} = { 2} ', n, i, தயாரிப்பு) i ++} போது (i<= 10) } } } 

// வெளியீடு:

5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
5 * 10 = 50

நிபந்தனை

நிபந்தனை அறிக்கைகள் இயக்க பயன்படுகிறது அறிக்கை அல்லது குழு அறிக்கைகள் சில நிபந்தனைகளின் அடிப்படையில். என்றால் நிலை பின்னர் உண்மை சி # அறிக்கைகள் இல்லையெனில் அடுத்தது செயல்படுத்தப்படும் அறிக்கை செயல்படுத்தப்படும்.

சி ++ மொழியில் பல்வேறு வகையான நிபந்தனை அறிக்கைகள் பின்வருமாறு:

  1. அறிக்கை என்றால்
  2. என்றால்-வேறு அறிக்கை
  3. உள்ளமை என்றால்-வேறு அறிக்கை
  4. என்றால்-வேறு ஏணி என்றால்
  5. அறிக்கையை மாற்றவும்

அறிக்கை என்றால்

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

தொடரியல்

if (பூலியன்-வெளிப்பாடு) {// பூலியன்-வெளிப்பாடு உண்மையாக இருந்தால் அறிக்கைகள் செயல்படுத்தப்படும்}

ஃப்ளோசார்ட்:

உதாரணமாக:

கணினி பெயர்வெளியைப் பயன்படுத்துதல் நிபந்தனை {வகுப்பு இஃப்ஸ்டேட்மென்ட் {பொது நிலையான வெற்றிடத்தை முதன்மை (சரம் [] ஆர்க்ஸ்) {எண்ணின் எண் = 2 என்றால் (எண்<5) { Console.WriteLine('{0} is less than 5', number) } Console.WriteLine('This statement is always executed.') } } } 

// வெளியீடு:

2 5 க்கும் குறைவாக உள்ளது
இந்த அறிக்கை எப்போதும் செயல்படுத்தப்படும்.

என்றால்-வேறு அறிக்கை

தி if-else நிபந்தனை உண்மை அல்லது தவறானதாக இருந்தால் குறியீட்டை இயக்க சி மொழியில் அறிக்கை பயன்படுத்தப்படுகிறது. இது இரு வழி தேர்வு அறிக்கை என்றும் அழைக்கப்படுகிறது.

தொடரியல்

if (பூலியன்-வெளிப்பாடு) ole // அறிக்கைகள் பூலியன்-வெளிப்பாடு உண்மையாக இருந்தால் செயல்படுத்தப்படும்} else {// பூலியன்-வெளிப்பாடு தவறானதாக இருந்தால் அறிக்கைகள் செயல்படுத்தப்படும்}

ஃப்ளோசார்ட்:

உதாரணமாக:

கணினி பெயர்வெளியைப் பயன்படுத்துதல் நிபந்தனை {வகுப்பு IfElseStatement {பொது நிலையான வெற்றிடத்தை முதன்மை (சரம் [] ஆர்க்ஸ்) {int எண் = 12 if (எண்<5) { Console.WriteLine('{0} is less than 5', number) } else { Console.WriteLine('{0} is greater than or equal to 5', number) } Console.WriteLine('This statement is always executed.') } } } 

// வெளியீடு:

12 ஐ விட 5 அல்லது அதற்கு சமம்
இந்த அறிக்கை எப்போதும் செயல்படுத்தப்படும்.

உள்ளமை என்றால்-வேறு அறிக்கை

கூடு if-else ஒரு நிரலுக்கு ஒன்றுக்கு மேற்பட்ட சோதனை வெளிப்பாடு தேவைப்படும்போது அறிக்கை பயன்படுத்தப்படுகிறது. இது பல வழி தேர்வு அறிக்கை என்றும் அழைக்கப்படுகிறது. முடிவின் தொடர் ஒரு அறிக்கையில் ஈடுபடும்போது, ​​நாங்கள் பயன்படுத்துகிறோம் if-else உள்ளமை வடிவத்தில் அறிக்கை.

தொடரியல்

if (பூலியன்-வெளிப்பாடு) {if (nested-expression-1) {// குறியீடு செயல்படுத்தப்பட வேண்டும்} else {// செயல்படுத்தப்பட வேண்டிய குறியீடு}} else {if (nested-expression-2) {// குறியீடு செயல்படுத்தப்பட வேண்டும் } else {// குறியீடு செயல்படுத்தப்பட வேண்டும்}}

ஃப்ளோசார்ட்:

உதாரணமாக:

கணினி பெயர்வெளியைப் பயன்படுத்துதல் நிபந்தனை {வகுப்பு நெஸ்டட் {பொது நிலையான வெற்றிடத்தை முதன்மை (சரம் [] ஆர்க்ஸ்) {int முதல் = 7, இரண்டாவது = -23, மூன்றாவது = 13 என்றால் (முதல் & ஜிடி வினாடி) {if (முதல்

// வெளியீடு:

13 மிகப்பெரியது

வேறு-என்றால் ஏணி

தி if-else-if பல நிபந்தனைகளிலிருந்து ஒரு குறியீட்டை இயக்க அறிக்கை பயன்படுத்தப்படுகிறது. இது மல்டிபாத் முடிவு அறிக்கை என்றும் அழைக்கப்படுகிறது. இது if..else அறிக்கைகளின் ஒரு சங்கிலி, இதில் ஒவ்வொன்றும் அறிக்கை வேறொருவருடன் தொடர்புடையதாக இருந்தால் அறிக்கை மற்றும் கடைசியாக வேறு அறிக்கை.

தொடரியல்

(நிபந்தனை 1) condition // நிபந்தனை 1 உண்மையாக இருந்தால் குறியீடு செயல்படுத்தப்பட வேண்டும்} இல்லையெனில் (நிபந்தனை 2) condition // நிபந்தனை 2 உண்மையாக இருந்தால் செயல்படுத்தப்பட வேண்டும்} இல்லையெனில் (நிபந்தனை 3) condition // நிபந்தனை 3 உண்மையாக இருந்தால் செயல்படுத்தப்பட வேண்டும்} ... else conditions // அனைத்து நிபந்தனைகளும் தவறானதாக இருந்தால் செயல்படுத்தப்பட வேண்டிய குறியீடு}

ஃப்ளோசார்ட்:

உதாரணமாக:

கணினி வகுப்பு எடுரெகாவைப் பயன்படுத்துதல் {பொது நிலையான வெற்றிடத்தை முதன்மை (சரம் [] ஆர்க்ஸ்) {int i = 20 if (i == 10) Console.WriteLine ('i 10') வேறு என்றால் (i == 15) Console.WriteLine (' (15 =) வேறு என்றால் (i == 20) கன்சோல்.ரைட்லைன் ('நான் 20') வேறு கன்சோல்.ரைட்லைன் ('நான் இல்லை')}}

// வெளியீடு:

எனக்கு 20 வயது

அறிக்கையை மாற்றவும்

சொடுக்கி வழக்குகளின் பட்டியலைச் சோதிக்கப் பயன்படும் ஏணி ஏவுகணைக்கு மாற்றாக அறிக்கை செயல்படுகிறது. ஒரு சுவிட்ச் அறிக்கையில் ஒன்று அல்லது அதற்கு மேற்பட்ட வழக்கு லேபிள்கள் உள்ளன, அவை சுவிட்ச் வெளிப்பாட்டிற்கு எதிராக சோதிக்கப்படுகின்றன. வெளிப்பாடு ஒரு வழக்குடன் பொருந்தும்போது, ​​அந்த வழக்கோடு தொடர்புடைய அறிக்கைகள் செயல்படுத்தப்படும்.

தொடரியல்

சுவிட்ச் (மாறி / வெளிப்பாடு) {வழக்கு மதிப்பு 1: // வெளிப்பாடு (அல்லது மாறி) = மதிப்பு 1 முறிவு வழக்கு மதிப்பு 2: // அறிக்கைகள் செயல்படுத்தப்பட்டால் (அல்லது மாறி) = மதிப்பு 1 முறிவு ... ... ... .. . ... ... இயல்புநிலை: // வழக்கு பொருந்தவில்லை என்றால் அறிக்கைகள் செயல்படுத்தப்படுகின்றன}

ஃப்ளோசார்ட்:

உதாரணமாக:

கணினி பெயர்வெளியைப் பயன்படுத்துதல் நிபந்தனை {வகுப்பு ஸ்விட்ச்கேஸ் {பொது நிலையான வெற்றிடத்தை முதன்மை (சரம் [] ஆர்க்ஸ்) {char ch Console.WriteLine ('ஒரு எழுத்துக்களை உள்ளிடுக') ch = Convert.ToChar (Console.ReadLine ()) சுவிட்ச் (Char.ToLower (ch )) {case 'a': Console.WriteLine ('உயிர்') முறிவு வழக்கு 'e': Console.WriteLine ('உயிர்') முறிவு வழக்கு 'i': Console.WriteLine ('உயிர்') முறிவு வழக்கு 'o': கன்சோல்.ரைட்லைன் ('உயிர்') முறிவு வழக்கு 'யு': கன்சோல்.ரைட்லைன் ('உயிர்') இயல்புநிலையை உடைக்கிறது: கன்சோல்.ரைட்லைன் ('ஒரு உயிரெழுத்து அல்ல') முறிவு}}}}

// வெளியீடு:

எழுத்துக்களை உள்ளிடவும்
இருக்கிறது
உயிர்

சரங்கள்

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

சரம் மற்றும் சரத்தின் ஒப்புமை

சி # இல் லேசான கயிறு மற்றும் லேசான கயிறு சமமானவை. சரம் என்ற சொல் ஒரு முக்கிய சொல் மற்றும் செயல்படுகிறது System.String வர்க்கம். சரங்களை அறிவிக்க பதிப்புகளில் ஒன்றைப் பயன்படுத்தலாம்.

தொடரியல்:

சரம் s1 = 'எடுரேகா' // சரம் முக்கிய சொல்லைப் பயன்படுத்தி சரம் உருவாக்குதல் சரம் s2 = 'மகிழ்ச்சியான கற்றல்' // சரம் வகுப்பைப் பயன்படுத்தி சரம் உருவாக்குதல்

உதாரணமாக:

கணினி பொது வகுப்பு StringExample {public static void முதன்மை (சரம் [] args) {string s1 = 'Edureka' char [] ch = {'C', 's', 'h', 'a', 'r', ' p ',' ',' T ',' u ',' t ',' o ',' r ',' i ',' a ',' l '} string s2 = new string (ch) Console.WriteLine ( s1) கன்சோல்.ரைட்லைன் (s2)}}

// வெளியீடு:

எடுரேகா
சிஷார்ப் பயிற்சி

சி # இல் சரம் முறைகள்

முறை விளக்கம்
குளோன் () சரத்தின் இந்த நிகழ்வுக்கு ஒரு குறிப்பைத் தர பயன்படுகிறது.
ஒப்பிடுக (சரம், சரம்) இரண்டு குறிப்பிட்ட சரம் பொருள்களை ஒப்பிட பயன்படுகிறது.
கான்காட் (சரம், சரம்) சரத்தின் இரண்டு குறிப்பிட்ட நிகழ்வுகளை இணைக்கவும்.
கொண்டுள்ளது (சரம்) குறிப்பிட்ட துணை சரம் குறிக்கும் மதிப்பைத் தரவும்
நகலெடு (சரம்) அதே மதிப்புடன் சரத்தின் புதிய நிகழ்வை உருவாக்க பயன்படுகிறது
CopyTo (Int, Char [], Int, Int) ஒரு குறிப்பிட்ட நிலையில் இருந்து எழுத்துக்களை நகலெடுக்கிறது
சமம் (சரம், சரம்) இரண்டு சரம் பொருள்கள் ஒரே மதிப்பைக் கொண்டுள்ளன என்பதை தீர்மானிக்கிறது.
வடிவம் (சரம், பொருள்) ஒரு குறிப்பிட்ட சரத்தில் ஒன்று அல்லது அதற்கு மேற்பட்ட வடிவமைப்பு உருப்படிகளை மாற்றவும்
இன்டெக்ஸ்ஆஃப் (சரம்) முதல் நிகழ்வின் பூஜ்ஜிய அடிப்படையிலான குறியீட்டைப் புகாரளிக்கிறது
செருக (Int32, சரம்) ஒரு குறியீட்டில் ஒரு சரம் செருகப்பட்ட புதிய சரத்தை வழங்குகிறது.
IsInterned (சரம்) இந்த சரம் யூனிகோட் இயல்பாக்குதல் வடிவத்தில் இருப்பதைக் குறிக்கிறது.
IsNullOrEmpty (சரம்) குறிப்பிட்ட சரம் பூஜ்யம் அல்லது வெற்று சரம் என்பதைக் குறிக்கிறது.
IsNullOrWhiteSpace (சரம்) ஒரு குறிப்பிட்ட சரம் பூஜ்யமா, காலியாக உள்ளதா என்பதைக் குறிக்கப் பயன்படுகிறது
சேரவும் (சரம், சரம் []) ஒரு சரம் வரிசையின் அனைத்து கூறுகளையும் ஒன்றிணைக்கப் பயன்படுகிறது
LastIndexOf (சார்) கடைசி எழுத்தின் பூஜ்ஜிய அடிப்படையிலான குறியீட்டு நிலையை அறிக்கையிடுகிறது
LastIndexOfAny (சார் []) கடைசி எழுத்தின் பூஜ்ஜிய அடிப்படையிலான குறியீட்டு நிலையை அறிக்கையிடுகிறது
அகற்று (Int32) எல்லா எழுத்துக்களும் உள்ள புதிய சரத்தை வழங்குகிறது
மாற்றவும் (சரம், சரம்) ஒரு சரத்தின் அனைத்து நிகழ்வுகளும் ஒரு புதிய சரத்தை வழங்குகிறது
பிளவு (சார் []) இது ஒரு சரத்தை அடி மூலக்கூறுகளாகப் பிரிக்கப் பயன்படுகிறது
தொடங்குகிறது (சரம்) இந்த சரத்தின் ஆரம்பம் என்பதை சரிபார்க்க இது பயன்படுகிறது
சப்ஸ்ட்ரிங் (Int32) இந்த நிகழ்விலிருந்து ஒரு மூலக்கூறை மீட்டெடுக்க இது பயன்படுத்தப்படுகிறது.
ToCharArray () இந்த நிகழ்வில் உள்ள எழுத்துக்களை யூனிகோட் வரிசைக்கு நகலெடுக்கிறது.
ToString () இது சரத்தின் உதாரணத்தைத் தர பயன்படுகிறது.
டிரிம் () சரம் ஒழுங்கமைக்கிறது


வரிசைகள்

பிற நிரலாக்க மொழிகளைப் போலவே, சி # க்கும் வரிசைகள் உள்ளன. வரிசைகள் என்பது எளிய தரவு கட்டமைப்புகள் ஆகும், அவை ஒரே மாதிரியான உறுப்புகளின் தரவுத்தொகுப்பை தொடர்ச்சியான நினைவக இடத்தில் சேமிக்க வடிவமைக்கப்பட்டுள்ளன.

சி # பின்வரும் வரிசை வகைகளை ஆதரிக்கிறது.

  • ஒற்றை பரிமாண வரிசை
  • பல பரிமாண வரிசை
  • துண்டிக்கப்பட்ட வரிசை

ஒற்றை பரிமாண வரிசை

ஒற்றை பரிமாண வரிசை ஒரு ஒற்றை வரிசையின் வடிவத்தில் கூறுகளை சேமிக்கிறது.

தொடரியல்

int [] arr = new int [5] // வரிசையை உருவாக்குகிறது

உதாரணமாக:

கணினி பொது வகுப்பைப் பயன்படுத்துதல் வரிசை மாதிரி {பொது நிலையான வெற்றிடத்தை முதன்மை (சரம் [] ஆர்க்ஸ்) {int [] arr = new int [5] arr [0] = 10 arr [1] = 20 arr [2] = 30 arr [3] = 40 எண்ணாக [4] = 50 க்கு (int i = 0 i 

// வெளியீடு:

10
இருபது
30
40
ஐம்பது

பல பரிமாண வரிசை

பல பரிமாண வரிசை ஒரு அணி மற்றும் ஒரு கன போன்ற பல பரிமாணங்களின் வடிவத்தில் கூறுகளை சேமிக்கிறது.

தொடரியல்

int val = a [2,3]

உதாரணமாக:

கணினி பெயர்வெளி வரிசை வரிசைப்படுத்தல் {வகுப்பு மைஆரே ​​{நிலையான வெற்றிடத்தை முதன்மை (சரம் [] ஆர்க்ஸ்) {int [,] a = புதிய எண்ணாக [5, 2] {{0, 0}, {1, 2}, {2, 4}, {3, 6}, {4, 8}} int i, j for (i = 0 i<5 i++) { for (j = 0 j < 2 j++) { Console.WriteLine('a[{0},{1}] = {2}', i, j, a[i, j]) } } Console.ReadKey() } } } 

// வெளியீடு:

a [0,0] = 0
a [0,1] = 0
a [1,0] = 1
a [1,1] = 2
a [2,0] = 2
a [2,1] = 4
a [3,0] = 3
a [3,1] = 6
a [4,0] = 4
a [4,1] = 8

துண்டிக்கப்பட்ட வரிசை

துண்டிக்கப்பட்ட வரிசை வெறுமனே வரிசைகளின் வரிசை.

உதாரணமாக:

கணினி பெயர்வெளி வரிசை வரிசைப்படுத்தல் {வகுப்பு மைஆரே ​​{நிலையான வெற்றிடத்தை முதன்மை (சரம் [] ஆர்க்ஸ்) {int [] [] a = புதிய எண்ணாக [] [] {புதிய எண்ணாக [] {0,0}, புதிய எண்ணாக [] 2 1,2 }, புதிய எண்ணாக [] {2,4}, புதிய எண்ணாக [] {3, 6}, புதிய எண்ணாக [] {4, 8}} int i, j for (i = 0 i<5 i++) { for (j = 0 j < 2 j++) { Console.WriteLine('a[{0}][{1}] = {2}', i, j, a[i][j]) } } Console.ReadKey() } } } 

// வெளியீடு:

a [0] [0] = 0
a [0] [1] = 0
a [1] [0] = 1
a [1] [1] = 2
a [2] [0] = 2
a [2] [1] = 4
a [3] [0] = 3
a [3] [1] = 6
a [4] [0] = 4
a [4] [1] = 8

தொகுப்புகள்

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

  • பொருள் பொருள்
  • புதுப்பிப்பு பொருள்
  • பொருளை நீக்கு
  • பொருளை மீட்டெடுக்கவும்
  • தேடல் பொருள், மற்றும்
  • வரிசை பொருள்

சேகரிப்பு வகைகள்

வசூலுடன் பணியாற்ற மூன்று வெவ்வேறு சாத்தியங்கள் உள்ளன. மூன்று பெயர்வெளிகள் கீழே குறிப்பிடப்பட்டுள்ளன:

  • System.Collections.Generic வகுப்புகள்
  • System.Collections வகுப்புகள்
  • System.Collections.Concurrent வகுப்புகள்

System.Collections.Generic Class பின்வரும் வகை வகுப்புகளைக் கொண்டுள்ளது:

  • பட்டியல்
  • அடுக்கு
  • வரிசை
  • இணைக்கப்பட்ட பட்டியல்
  • ஹாஷ்செட்
  • வரிசைப்படுத்தப்பட்ட செட்
  • அகராதி
  • வரிசைப்படுத்தப்பட்ட அகராதி
  • வரிசைப்படுத்தப்பட்ட பட்டியல்

தி System.Collections வகுப்புகள் மரபு வகுப்புகளாக கருதப்படுகின்றன. அவற்றில் பின்வரும் வகுப்புகள் அடங்கும்.

  • வரிசை பட்டியல்
  • அடுக்கு
  • வரிசை
  • ஹேஸ்டேபிள்

தி System.Collections.Concurrent வகுப்புகள்நூல்-பாதுகாப்பான செயல்பாடுகளுக்கு பெயர்வெளி வகுப்புகளை வழங்குகிறது. இப்போது பல நூல்கள் சேகரிப்பு உருப்படிகளை அணுகுவதில் சிக்கலை உருவாக்காது. இதில் கிடைக்கும் வகுப்புகள்,

  • தடுப்பு சேகரிப்பு
  • ஒரே நேரத்தில் பேக்
  • ஒரே நேரத்தில்
  • ஒரே நேரத்தில் வரிசை
  • ஒரே நேரத்தில் அகராதி
  • பகிர்வுகள்
  • பகிர்வுகள்
  • ஆர்டரபிள் பார்ட்டிஷனர்

பட்டியல்

தி பட்டியல் இல் கிடைக்கும் தரவு கட்டமைப்பாக கருதப்படுகிறது System.Collection.Generics பெயர்வெளி. இது கூறுகளை சேமித்து பெறலாம். பட்டியல் நகல் கூறுகளை சேமிக்க வல்லது.

உதாரணமாக:

System.Collections.Generic public class Edureka {public static void முதன்மை (சரம் [] args) {var பெயர்கள் = புதிய பட்டியல் () பெயர்கள். ('சந்தியா') பெயர்களைச் சேர்க்கவும். ('அருண்') பெயர்களைச் சேர்க்கவும். 'பிரசாந்த்') பெயர்கள்.ஆடு ('கிரண்') முன்னறிவிப்பு (பெயர்களில் var பெயர்) {கன்சோல்.ரைட்லைன் (பெயர்)}}}

// வெளியீடு:

சந்தியா
அருண்
பிரசாந்த்
கிரண்

ஹாஷ் செட்

சி # ஹாஷ்செட்வகை பெரும்பாலும் பழக்கமாக உள்ளதுstore,எடுத்து செல்அல்லதுகூறுகளைப் படிக்கவும். அதுஇல்லைநகல் சேமிக்கவும்கூறுகள்.அது வலியுறுத்தப்பட்டதுஉபயோகிக்க ஹாஷ்செட் வகைஎன்றால்கிடைத்துவிட்டதுசேமிக்கமுற்றிலும் தனித்துவமான கூறுகள் . அதன் System.Collections.Generic பெயர்வெளியில் காணப்படுகிறது.

உதாரணமாக:

System.Collections.Generic public class Edureka {public static void Main (string [] args) {var names = new HashSet () names.Add ('Sunil') பெயர்களைச் சேர்க்கவும். ('அமர்') பெயர்களைச் சேர்க்கவும். 'பூஜாரி') பெயர்கள்.ஆடு ('இம்ரான்') பெயர்களைச் சேர்க்கவும். ('கரண்') முன்னறிவிப்பு (பெயர்களில் var பெயர்) {கன்சோல்.ரைட்லைன் (பெயர்)}}}

// வெளியீடு:

சுனில்
அமர்
பூஜாரி
இம்ரான்
கரண்

வரிசைப்படுத்தப்பட்ட தொகுப்பு

சி # வரிசைப்படுத்தப்பட்ட தொகுப்புவர்க்கம் பெரும்பாலும் பழக்கமாகிவிடும்store, அகற்று அல்லது படி கூறுகள் . இது ஏறும் வரிசையை பராமரிக்கிறதுஇல்லைநகல் சேமிக்கவும்கூறுகள்.இது உடனடிSortedSet ஐப் பயன்படுத்தவகைஎன்றால்கிடைத்துவிட்டதுசேமிக்க தனித்துவமான கூறுகள் மற்றும் ஏறுவரிசையை பராமரிக்கவும்.அதன்System.Collections.Generic பெயர்வெளியில் காணப்படுகிறது.

சக்தி இருவில் டாஷ்போர்டை உருவாக்குவது எப்படி

உதாரணமாக:

System.Collections.Generic public class Edureka {public static void Main (string [] args) {var names = new SortedSet () names.Add ('Sanjay') பெயர்களைச் சேர்க்கவும். ('அனுராதா') பெயர்களைச் சேர்க்கவும். 'பிரவீன்') பெயர்கள்.ஆடு ('ரவி') பெயர்களைச் சேர்க்கவும். ('கஜோல்') முன்னறிவிப்பைச் சேர்க்கவும் (பெயர்களில் var பெயர்) {கன்சோல்.ரைட்லைன் (பெயர்)}}}

// வெளியீடு:

அனுராதா
கஜோல்
பிரவீன்
ரவி
சஞ்சய்

அடுக்கு

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

உதாரணமாக:

System.Collections.Generic public class Edureka {public static void முதன்மை (சரம் [] args) {அடுக்கு பெயர்கள் = புதிய அடுக்கு () பெயர்கள்.புஷ் ('சந்தன்') பெயர்கள்.புஷ் ('பூஜா') பெயர்கள்.புஷ் ( 'ஜேம்ஸ்') பெயர்கள்.புஷ் ('ராஜேஷ்') பெயர்கள்.புஷ் ('குமார்') முன்னறிவிப்பு (பெயர்களில் சரம் பெயர்) {கன்சோல்.ரைட்லைன் (பெயர்)} கன்சோல்.ரைட்லைன் ('பீக் உறுப்பு:' + பெயர்கள்.பீக் () ) கன்சோல்.ரைட்லைன் ('பாப்:' + பெயர்கள்.பாப் ()) கன்சோல்.ரைட்லைன் ('பாப் பிறகு, பீக் உறுப்பு:' + பெயர்கள்.பீக் ())}}

// வெளியீடு:

குமார்
ராஜேஷ்
ஜேம்ஸ்
பூஜை
சந்தன்
கண்ணோட்டம்: குமார்
பாப்: குமார்
பாப் பிறகு, பீக் உறுப்பு: ராஜேஷ்

வரிசை

வரிசை ஸ்டேக்குடன் முற்றிலும் ஒத்திருக்கிறது, ஆனால் ஒரே வித்தியாசம் என்னவென்றால் வரிசை பின்வருமாறு ஃபிஃபோ அல்லது அதில் சேமிக்கப்பட்ட கூறுகளை செயலாக்கும்போது முதலில் மற்றும் முதலில் வெளியேறு கொள்கை.

உதாரணமாக:

System.Collections.Generic public class Edureka {public static void முதன்மை (சரம் [] args) {வரிசை பெயர்கள் = புதிய வரிசை () பெயர்கள்.இன்க்யூ ('Srujan') பெயர்கள்.இன்க்யூ ('பிரஜாத்') பெயர்கள்.இன்க்யூ ( 'ஜான்') பெயர்கள்.இன்க்யூ ('ராஜு') பெயர்கள்.இன்க்யூ ('ஹரி') முன்னறிவிப்பு (பெயர்களில் சரம் பெயர்) {கன்சோல்.ரைட்லைன் (பெயர்)} கன்சோல்.ரைட்லைன் ('பீக் உறுப்பு:' + பெயர்கள்.பீக் () ) கன்சோல்.ரைட்லைன் ('Dequeue:' + names.Dequeue ()) Console.WriteLine ('Dequeue க்குப் பிறகு, பீக் உறுப்பு:' + names.Peek ())}}

// வெளியீடு:

ஸ்ருஜன்
பிரஜாத்
ஜான்
கடுமையான
நாள்
கண்ணோட்டம்: ஸ்ருஜன்
Dequeue: Srujan
Dequeue க்குப் பிறகு, பீக் உறுப்பு: பிரஜாத்

இணைக்கப்பட்ட பட்டியல்

இணைக்கப்பட்ட பட்டியல் ஒரு மாறும் நினைவக தொகுப்பு ஆகும். இணைக்கப்பட்ட பட்டியலில் உள்ள கூறுகள் குவியலிலிருந்து நினைவகத்தை அணுகுவதன் மூலமும், அவற்றின் முகவரிகளை இணைப்பதன் மூலம் உறுப்புகளை தொடர்ச்சியான வரிசையில் சேமிப்பதன் மூலமும் சேமிக்கப்படும்.

உதாரணமாக:

System.Collections.Generic public class Edureka {public static void Main (string [] args) {var names = new LinkedList () names.AddLast ('Rajat') பெயர்கள்.அட்லாஸ்ட் ('அருண்') பெயர்கள் 'பிரகாஷ்') பெயர்கள்.அட்லாஸ்ட் ('ஜெய்') பெயர்கள்.அட்ஃபர்ஸ்ட் ('சாய்') முன்னறிவிப்பு (பெயர்களில் var பெயர்) {கன்சோல்.ரைட்லைன் (பெயர்)}}}

// வெளியீடு:

சாய்
எல்லைகள்
அருண்
பிரகாஷ்
ஜெய்

அகராதி

அகராதி வகைபயன்படுத்துகிறதுயோசனைஹேஸ்டேபிள். இது மதிப்புகளை சேமிக்கிறதுமுன்னுரைவிசையின். இது கொண்டுள்ளதுதனித்துவமானவிசைகள்முற்றிலும். வழங்கியவர்உதவிவிசையின்,நாங்கள் வெறுமனே செய்வோம்தேடல் அல்லதுகூறுகளை எடுத்துக் கொள்ளுங்கள்.அதன்System.Collections.Generic பெயர்வெளியில் காணப்படுகிறது.

உதாரணமாக:

System.Collections.Generic public class Edureka {public static void முதன்மை (சரம் [] args) {அகராதி பெயர்கள் = புதிய அகராதி () பெயர்கள். சேர் ('1', 'சிவன்') பெயர்களைச் சேர்க்கவும். ('2', 'பிரசாத்') பெயர்கள்.ஆடு ('3', 'ப்ரீதம்') பெயர்களைச் சேர்க்கவும். ('4', 'ராய்') பெயர்களைச் சேர்க்கவும். ('5', 'ஆகாஷ்') முன்னறிவிப்பைச் சேர்க்கவும் (பெயர்களில் கீவல்யூபேர் கே.வி) {பணியகம். ரைட்லைன் (kv.Key + '' + kv.Value)}}}

// வெளியீடு:

1 சிவன்
2 பிரசாத்
3 ப்ரீதம்
4 ராய்
5ஆகாஷ்

வரிசைப்படுத்தப்பட்ட அகராதி

தி வரிசைப்படுத்தப்பட்ட அகராதி வகைபயன்படுத்துகிறதுவடிவமைப்புஹேஸ்டேபிள். இது மதிப்புகளை சேமிக்கிறதுயோசனைவிசையின். இது கொண்டுள்ளதுதனித்துவமானவிசைகள் மற்றும் ஏறும் வரிசையை பராமரிக்கிறதுயோசனைவிசையின். வழங்கியவர்உதவிவிசையின்,நாங்கள் வெறுமனே செய்வோம்தேடல் அல்லதுகூறுகளை எடுத்துக் கொள்ளுங்கள்.அதன்System.Collections.Generic பெயர்வெளியில் காணப்படுகிறது.

உதாரணமாக:

System.Collections.Generic public class Edureka {public static void Main (string [] args) {SortedDictionary names = new SortedDictionary () names.Add ('1', 'Arun') பெயர்களைச் சேர்க்கவும். ('4', 'விஷால்') பெயர்கள்.ஆடு ('5', 'ரமேஷ்') பெயர்களைச் சேர்க்கவும். ('3', 'வித்யா') பெயர்களைச் சேர்க்கவும். ('2', 'பல்லவி') முன்னறிவிப்பைச் சேர்க்கவும் (பெயர்களில் கீவல்யூபேர் கே.வி) {பணியகம். ரைட்லைன் (kv.Key + '' + kv.Value)}}}

// வெளியீடு:

1 சிவன்
2 பிரசாத்
3 ப்ரீதம்
4 ராய்
5ஆகாஷ்

வரிசைப்படுத்தப்பட்ட பட்டியல்

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

உதாரணமாக:

System.Collections.Generic public class Edureka {public static void Main (string [] args) {SortedDictionary names = new SortedDictionary () names.Add ('1', 'Arun') பெயர்களைச் சேர்க்கவும். ('4', 'விஷால்') பெயர்கள்.ஆடு ('5', 'ரமேஷ்') பெயர்களைச் சேர்க்கவும். ('3', 'வித்யா') பெயர்களைச் சேர்க்கவும். ('2', 'பல்லவி') முன்னறிவிப்பைச் சேர்க்கவும் (பெயர்களில் கீவல்யூபேர் கே.வி) {பணியகம். ரைட்லைன் (kv.Key + '' + kv.Value)}}}

// வெளியீடு:

1 அருண்
2 பல்லவி
3 வித்யா
4 விஷால்
5ரமேஷ்

அமைப்பு

கட்டமைப்பு என்பது வெவ்வேறு தரவுத்தளத்தின் பல கூறுகளை சேமிக்க வடிவமைக்கப்பட்ட பயனர் வரையறுக்கப்பட்ட தரவு வகை. முக்கிய சொல்லைப் பயன்படுத்தி கட்டமைப்பு அறிவிக்கப்படுகிறது struct.

உதாரணமாக:

கணினி கட்டமைப்பு புத்தகங்களைப் பயன்படுத்துதல் {பொது சரம் தலைப்பு பொது சரம் ஆசிரியர் பொது சரம் பொருள் பொது எண்ணாக புத்தக_ஐடி} பொது வகுப்பு எடுரேகா {பொது நிலையான வெற்றிடம் முதன்மை (சரம் [] ஆர்க்ஸ்) {புத்தகங்கள் புத்தகம் 1 புத்தகங்கள் புத்தகம் 2 புத்தகம் 1. தலைப்பு = 'சி # நிரலாக்க' புத்தக 1.ஆதர் = ' ராம்சந்திர குமார் 'Book1.subject =' C ++ புரோகிராமிங் டுடோரியல் 'Book1.book_id = 95908978 Book2.title =' டெலிகாம் பில்லிங் 'Book2.author =' கரண் 'Book2.subject =' டெலிகாம் பில்லிங் டுடோரியல் 'Book2.book_id = 18674900 Console.WriteLine ( 'புத்தகம் 1 தலைப்பு: {0}', புத்தக 1. தலைப்பு) கன்சோல்.ரைட்லைன் ('புத்தகம் 1 ஆசிரியர்: {0}', புத்தக 1.ஆதர்) கன்சோல்.ரைட்லைன் ('புத்தகம் 1 பொருள்: {0}', புத்தக 1. பொருள்) கன்சோல்.ரைட்லைன் ('புத்தகம் 1 புத்தகம்_ஐடி: {0}', புத்தகம் 1. புத்தக_ஐடி) கன்சோல்.ரைட்லைன் ('புத்தக 2 தலைப்பு: {0}', புத்தக 2. தலைப்பு) கன்சோல்.ரைட்லைன் ('புத்தக 2 ஆசிரியர்: {0}', Book2.author) Console.WriteLine ('Book 2 subject: {0}', Book2.subject) Console.WriteLine ('Book 2 book_id: {0}', Book2.book_id) Console.ReadKey ()}}

// வெளியீடு:

புத்தகம் 1 தலைப்பு: சி # புரோகிராமிங்
புத்தகம் 1 ஆசிரியர்: ராம்சந்திர குமார்
புத்தகம் 1 பொருள்: சி ++ புரோகிராமிங் டுடோரியல்
புத்தகம் 1 புத்தகம்_ஐடி: 95908978
புத்தகம் 2 தலைப்பு: தொலைத் தொடர்பு பில்லிங்
புத்தகம் 2 ஆசிரியர்: கரண்
புத்தகம் 2 பொருள்: தொலைத் தொடர்பு பில்லிங் பயிற்சி
புத்தகம் 2 புத்தகம்_ஐடி: 18674900

செயல்பாடுகள்

செயல்பாடு முக்கிய குறியீட்டின் குறியீட்டின் தொகுப்பாக வரையறுக்கப்படுகிறது. குறியீடு தொகுதியில் குறிப்பிடப்பட்ட அறிக்கைகளை இயக்க இந்த செயல்பாடு பயன்படுத்தப்படுகிறது. ஒரு செயல்பாடு பின்வரும் கூறுகளைக் கொண்டுள்ளது.

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

தொடரியல்

FunctionName () function // செயல்பாட்டு உடல் // திரும்ப அறிக்கை}

உதாரணமாக:

கணினி பெயர்வெளியைப் பயன்படுத்துதல் செயல்பாடு {வகுப்பு எடுரேகா {பொது சரம் காட்டு (சரம் செய்தி) {கன்சோல்.ரைட்லைன் ('செயல்பாட்டின் உள்ளே காட்சி') திரும்பும் செய்தி} நிலையான வெற்றிடத்தை முதன்மை (சரம் [] ஆர்க்ஸ்) {எடுரேகா நிரல் = புதிய எடுரேகா () சரம் செய்தி = நிரல் .ஷோ ('எடுரேகாவுக்கு') கன்சோல்.ரைட்லைன் ('வரவேற்பு' + செய்தி)}}}

// வெளியீடு:

ஷோ செயல்பாட்டின் உள்ளே
எடுரேகாவுக்கு வருக

செயல்பாடுகளை 3 வெவ்வேறு வழிகளில் செயல்படுத்தலாம்:

  • மதிப்பு மூலம் அழைக்கவும்
  • குறிப்பு மூலம் அழைக்கவும்
  • அவுட் அளவுரு

மதிப்பு மூலம் அழைக்கவும்

சி # இல், மதிப்பு -வகை அளவுருக்கள்உள்ளனஅந்த பாஸ்ஒரு பிரதிஅசல் மதிப்புபதிலாக செயல்படகுறிப்பு. அதுஇல்லைமாற்றவும்முதல் மதிப்பு. ஒருதிருத்தம் உருவாக்கப்பட்டதுகடந்துவிட்டதுமதிப்பு இல்லைவயதுகுறிப்பிட்ட மதிப்பு.அதற்குள்பின்வரும் உதாரணம்,எங்களுக்கு கிடைத்துள்ளதுபாஸ்முழுவதும் மதிப்புதிஅழைப்பு.

உதாரணமாக:

கணினி பெயர்வெளியைப் பயன்படுத்துதல் CallByValue {class Edureka {public void Show (int val) {val * = val Console.WriteLine ('நிகழ்ச்சி செயல்பாட்டின் உள்ளே உள்ள மதிப்பு' + val)} நிலையான வெற்றிடம் முதன்மை (சரம் [] args) {int val = 50 எடுரேகா நிரல் = புதிய எடுரேகா () கன்சோல்.ரைட்லைன் ('செயல்பாட்டை அழைப்பதற்கு முன் மதிப்பு' + வால்) நிரல்.ஷோ (வால்) கன்சோல்.ரைட்லைன் ('செயல்பாட்டை அழைத்த பிறகு மதிப்பு' + வால்)}}}

// வெளியீடு:

செயல்பாடு 50 ஐ அழைப்பதற்கு முன் மதிப்பு
நிகழ்ச்சி செயல்பாடு 2500 க்குள் உள்ள மதிப்பு
செயல்பாடு 50 ஐ அழைத்த பிறகு மதிப்பு

குறிப்பு மூலம் அழைக்கவும்

அழைப்பு மூலம் குறிப்பு முறையில்,க்கு ref குறிப்பு வகையாக வாதத்தை அனுப்ப முக்கிய சொல். இது அசல் மதிப்பின் நகலைக் காட்டிலும் செயல்பாட்டுக்கு வாதங்களின் குறிப்பை அனுப்புகிறது. கடந்து வந்த மதிப்புகளில் மாற்றங்கள் நிரந்தர மற்றும் மாற்றவும் அசல் மாறி மதிப்பு.

உதாரணமாக:

கணினி பெயர்வெளியைப் பயன்படுத்துதல் CallByReference {class Edureka {public void Show (ref int val) {val * = val Console.WriteLine ('நிகழ்ச்சி செயல்பாட்டின் உள்ளே உள்ள மதிப்பு' + val)} நிலையான வெற்றிடம் முதன்மை (சரம் [] args) {int val = 50 எடுரேகா புரோகிராம் = புதிய எடுரேகா () கன்சோல்.ரைட்லைன் ('செயல்பாட்டை அழைப்பதற்கு முன் மதிப்பு' + வால்) நிரல்.ஷோ (ரெஃப் வால்) கன்சோல்.ரைட்லைன் ('செயல்பாட்டை அழைத்த பிறகு மதிப்பு' + வால்)}}}

// வெளியீடு:

செயல்பாடு 50 ஐ அழைப்பதற்கு முன் மதிப்பு
நிகழ்ச்சி செயல்பாடு 2500 க்குள் உள்ள மதிப்பு
செயல்பாடு 2500 ஐ அழைத்த பிறகு மதிப்பு

அவுட் அளவுரு

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

உதாரணமாக:

கணினி பெயர்வெளியைப் பயன்படுத்துதல் OutParameter {class Edureka {public void Show (out int val) {int square = 5 val = square val * = val} static void முதன்மை (சரம் [] args) {int val = 50 Edureka program = new Edureka () கன்சோல்.ரைட்லைன் ('மாறி வெளியேறுவதற்கு முன் மதிப்பு' + வால்) நிரல். காட்டு (அவுட் வால்) கன்சோல்.ரைட்லைன் ('அவுட் மாறியைப் பெற்ற பிறகு மதிப்பு' + வால்)}}}

// வெளியீடு:

மாறி 50 ஐ கடப்பதற்கு முன் மதிப்பு

மதிப்புஅவுட் மாறி 25 ஐப் பெற்ற பிறகு

இப்போது பொருள் சார்ந்த நிரலாக்கத்திற்கு செல்லலாம்

பொருள் சார்ந்த நிரலாக்க

பொருள் சார்ந்த நிரலாக்க அமைப்புஎன்ற கருத்தை அடிப்படையாகக் கொண்ட ஒரு நிரலாக்க முன்னுதாரணம் பொருள்கள் அதில் உள்ளது தரவு உறுப்பினர்கள் மற்றும் முறைகள் அவை தொடர்பானவை. பொருள் சார்ந்த நிரலாக்கத்தின் முதன்மை நோக்கம் நிரல்களின் நெகிழ்வுத்தன்மையையும் பராமரிப்பையும் அதிகரிப்பதாகும்

பொருள் சார்ந்த நிரலாக்கத்தின் அம்சங்கள்:

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

சி # இல் உள்ள பொருள் சார்ந்த முன்னுதாரணங்கள் பின்வருமாறு

சி # இல் கணக்கீடு

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

உதாரணமாக:

கணினி பொது வகுப்பு EnumExample {பொது enum week {திங்கள், செவ்வாய், புதன், வியாழன், வெள்ளி, சனி, ஞாயிறு} பொது நிலையான வெற்றிடத்தை முதன்மை () {int x = (int) வாரம். திங்கள் int y = (int) வாரம். வெள்ளிக்கிழமை கன்சோல் .ரைட்லைன் ('திங்கள் = {0}', x) கன்சோல்.ரைட்லைன் ('வெள்ளிக்கிழமை = {0}', y)}}

// வெளியீடு:

திங்கள் = 0
வெள்ளிக்கிழமை = 4

பொருள் சார்ந்த நிரலாக்க அணுகுமுறை

கீழே குறிப்பிடப்பட்டுள்ள முறைகளைப் பின்பற்றுவதன் மூலம் பொருள் சார்ந்த பாணி நிரலாக்கத்தை அடைய முடியும்.

என்காப்ஸுலேஷன்

என்காப்ஸுலேஷன் இணைக்க ஒரு முறை முறைகள் அவர்களுடன் சேர்ந்து தரவு உறுப்பினர்கள்.

உதாரணமாக:

கணினி பெயர்வெளியைப் பயன்படுத்துதல் எடூரெகா {வகுப்பு செவ்வகம் {பொது இரட்டை நீளம் பொது இரட்டை அகலம் பொது இரட்டை GetArea () {திரும்ப நீளம் * அகலம்} பொது வெற்றிடக் காட்சி () {பணியகம்.ரைட்லைன் ('நீளம்: {0}', நீளம்) கன்சோல்.ரைட்லைன் (' அகலம்: {0} ', அகலம்) கன்சோல்.ரைட்லைன் (' பகுதி: {0} ', கெட்ஆரியா ())}} வகுப்பு நிறைவேற்று செவ்வகம் {நிலையான வெற்றிடம் முதன்மை (சரம் [] ஆர்க்ஸ்) {செவ்வகம் r = புதிய செவ்வகம் () r.length = 50 r.width = 35 r.Display () Console.ReadLine ()}}}

// வெளியீடு:

நீளம்: 50
அகலம்: 35
பகுதி: 1750

சுருக்கம்

சுருக்கம் ஒரு முறை மறை பயனருக்கு தேவையான சிக்கலான தகவல்களை மட்டுமே அவருக்கு வழங்குவதன் மூலம் சிக்கலான குறியீட்டு பகுதி.

உதாரணமாக:

கணினி பொது சுருக்க வர்க்கத்தைப் பயன்படுத்துதல் வடிவம் {பொது சுருக்க வெற்றிட டிரா ()} பொது வகுப்பு செவ்வகம்: வடிவம் {பொது மேலெழுதும் வெற்றிட டிரா () {கன்சோல்.ரைட்லைன் ('வரைதல் செவ்வகம் ...')}} பொது வகுப்பு வட்டம்: வடிவம் {பொது மேலெழுதும் draw () {Console.WriteLine ('வரைதல் வட்டம் ...')}} பொது வகுப்பு டெஸ்ட்அப்ஸ்ட்ராக்ட் {பொது நிலையான வெற்றிடத்தை முதன்மை () {வடிவம் ss = புதிய செவ்வகம் () s.draw () s = புதிய வட்டம் () s.draw ()}}

// வெளியீடு:

வரைதல் வரைதல் ...
வரைதல் வட்டம் ...

இடைமுகம்

தி இடைமுகம் சுருக்கத்திற்கு முற்றிலும் ஒத்ததாகும். ஒரு இடைமுகத்தின் செயல்பாடு பயனரிடமிருந்து முக்கியமற்ற தரவை மறைத்து, அவருக்குத் தேவையான ஒரே முக்கியமான தரவை அவருக்கு வழங்குவதாகும்.

உதாரணமாக:

கணினி பொது இடைமுகத்தைப் பயன்படுத்தி வரையக்கூடிய {வெற்றிட டிரா ()} பொது வகுப்பு செவ்வகம்: வரையக்கூடிய {பொது வெற்றிட டிரா () {கன்சோல்.ரைட்லைன் ('வரைதல் செவ்வகம் ...')}} பொது வகுப்பு வட்டம்: வரையக்கூடிய {பொது வெற்றிட டிரா () {பணியகம் .ரைட்லைன் ('வரைதல் வட்டம் ...')}} பொது வகுப்பு டெஸ்ட் இன்டர்ஃபேஸ் {பொது நிலையான வெற்றிடத்தை முதன்மை () {வரையக்கூடிய dd = புதிய செவ்வகம் () d.draw () d = புதிய வட்டம் () d.draw ()}}

// வெளியீடு:

வரைதல் வரைதல் ...
வரைதல் வட்டம் ...

பாலிமார்பிசம்

பாலிமார்பிசம்என்பது கலவையாகும் “பாலி” + “உருவங்கள்” அதாவது பல வடிவங்கள். இது ஒரு கிரேக்க சொல். இதன் பொருள் குறியீடு பிரிவு பல வடிவங்களை எடுக்கலாம். எங்களிடம் இரண்டு வகையான பாலிமார்பிசம் உள்ளது.

  • தொகுத்தல் நேரம் பாலிமார்பிசம்
  • ரன் டைம் பாலிமார்பிசம்

உதாரணமாக:

கணினி பொது வகுப்பைப் பயன்படுத்துதல் விலங்கு {பொது சரம் வண்ணம் = 'வெள்ளை'} பொது வகுப்பு நாய்: விலங்கு {பொது சரம் வண்ணம் = 'கருப்பு'} பொது வகுப்பு டெஸ்ட்சீல்ட் {பொது நிலையான வெற்றிடத்தை முதன்மை () {விலங்கு d = புதிய நாய் () கன்சோல்.ரைட்லைன் ( d.color)}}

// வெளியீடு:

வெள்ளை

மரபுரிமை

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

ஒற்றை நிலை மரபுரிமைக்கான எடுத்துக்காட்டு

கணினி பெயர்வெளி செவ்வக பயன்பாடு {வகுப்பு செவ்வகம் {பாதுகாக்கப்பட்ட இரட்டை நீளம் பாதுகாக்கப்பட்ட இரட்டை அகலம் பொது செவ்வகம் (இரட்டை எல், இரட்டை w) {நீளம் = எல் அகலம் = w} பொது இரட்டை GetArea () {திரும்ப நீளம் * அகலம்} பொது வெற்றிட காட்சி () {பணியகம். ரைட்லைன் ('நீளம்: {0}', நீளம்) கன்சோல்.ரைட்லைன் ('அகலம்: {0}', அகலம்) கன்சோல்.ரைட்லைன் ('பகுதி: {0}', கெட்ஆரியா ())}} வகுப்பு டேப்லெட்: செவ்வகம் {தனியார் இரட்டை செலவு பொது டேப்லெட் (இரட்டை எல், இரட்டை டபிள்யூ): அடிப்படை (எல், டபிள்யூ)}} பொது இரட்டை கெட்காஸ்ட் () {இரட்டை செலவு செலவு = கெட்ஆரியா () * 70 வருவாய் செலவு} பொது வெற்றிட காட்சி () {அடிப்படை. காட்சி () கன்சோல் .ரைட்லைன் ('செலவு: {0}', கெட் கோஸ்ட் ())}} வகுப்பு எக்ஸிகியூட் செவ்வகம் {நிலையான வெற்றிடம் முதன்மை (சரம் [] ஆர்க்ஸ்) {டேப்லெட் டி = புதிய டேப்லெட் (4.5, 7.5) டி. டிஸ்ப்ளே () கன்சோல்.ரெட்லைன் () }}}

// வெளியீடு:

நீளம்: 4.5
அகலம்: 7.5
பரப்பளவு: 33.75
செலவு: 2362.5

பல நிலை மரபுரிமையின் எடுத்துக்காட்டு

கணினி பெயர்வெளியைப் பயன்படுத்துதல் மரபுரிமை பயன்பாடு {வகுப்பு வடிவம் {பொது வெற்றிட செட் அகலம் (எண்ணாக w) {அகலம் = w} பொது வெற்றிட செட் உயரம் (எண்ணாக h) {உயரம் = h} பாதுகாக்கப்பட்ட முழு அகலம் பாதுகாக்கப்பட்ட முழு உயரம்} பொது இடைமுகம் பெயிண்ட்கோஸ்ட் {int getCost (int area)} வகுப்பு செவ்வகம்: வடிவம், பெயிண்ட் கோஸ்ட் {பொது எண்ணாக getArea () {வருவாய் (அகலம் * உயரம்)} பொது எண்ணாக getCost (முழு பகுதி) {திரும்பும் பகுதி * 70}} வகுப்பு செவ்வக சோதனையாளர் {நிலையான வெற்றிடம் முதன்மை (சரம் [] ஆர்க்ஸ்) {செவ்வக செவ்வகம் = புதிய செவ்வகம் () முழு பகுதி Rect.setWidth (5) Rect.setHeight (7) area = Rect.getArea () Console.WriteLine ('மொத்த பரப்பளவு: {0}', Rect.getArea ()) Console.WriteLine ('மொத்தம் வண்ணப்பூச்சு செலவு: $ {0} ', Rect.getCost (area)) Console.ReadKey ()}}}

// வெளியீடு:

மொத்த பரப்பளவு: 35
மொத்த வண்ணப்பூச்சு செலவு: 50 2450

அதிக சுமை

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

உறுப்பினர் ஓவர்லோடிங்

உதாரணமாக:

சிஸ்டம் பப்ளிக் கிளாஸ் எடுரேகா {பப்ளிக் ஸ்டாடிக் இன்ட் ஆட் (இன்ட் அ, இன்ட் பி) {ஒரு + பி} பப்ளிக் ஸ்டாடிக் இன்ட் ஆட் (இன்ட் எ, இன்ட் பி, இன்ட் சி) பொது நிலையான வெற்றிடத்தை முதன்மை () {கன்சோல்.ரைட்லைன் (எடுரேகா.ஆட் (12, 23)) கன்சோல்.ரைட்லைன் (எடுரேகா.ஆட் (12, 23, 25 சதவீதம்)}}

// வெளியீடு:

35
60

முறை ஓவர்லோடிங்

உதாரணமாக:

சிஸ்டம் பப்ளிக் கிளாஸ் எடூரெகா {பப்ளிக் ஸ்டாடிக் இன்ட் சேர் (int a, int b) {ஒரு + b} பொது நிலையான மிதவைச் சேர்க்கை (மிதவை a, மிதவை b) ) {Console.WriteLine (Edureka.add (12, 23%) Console.WriteLine (Edureka.add (12.4f, 21.3f))}}

// வெளியீடு:

35
33.699997

மீறுகிறது

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

உதாரணமாக:

சிஸ்டம் பப்ளிக் கிளாஸ் எடுரெகா {பொது மெய்நிகர் வெற்றிட உணவு () {கன்சோல்.ரைட்லைன் ('சாப்பிடுவது')}} பொது வகுப்பு நாய்: எடுரேகா {பொது மேலெழுதும் வெற்றிட உணவு () {கன்சோல்.ரைட்லைன் ('உணவு உண்ணுதல்')}} பொது வகுப்பு மீறல் {பொது நிலையான வெற்றிடத்தை முதன்மை () {நாய் d = புதிய நாய் () d.eat ()}}

// வெளியீடு:

சாப்பிடுகிறேன்

பெயர்வெளி

தி பெயர்வெளி நிரலில் இருக்கும் பல வகுப்புகளைக் கையாள அடிப்படையில் பயன்படுத்தப்படுகிறது. பெயர்வெளி வெவ்வேறு வழிகளில் கிடைக்கிறது.

  • System.Console: இங்கே, தி அமைப்பு பெயர்வெளியாக மாறுகிறது
  • பெயர்வெளியின் வகுப்பை அணுக, நாம் பயன்படுத்த வேண்டும் namespacename.classname.
  • நாம் பயன்படுத்தலாம் பயன்படுத்தி முக்கிய சொல்.

உதாரணமாக:

இரண்டாவது பெயர்வெளியைப் பயன்படுத்தி முதலில் கணினியைப் பயன்படுத்துதல் மகிழ்ச்சியான கற்றல் ')}}} பொது வகுப்பு பெயர்வெளி {பொது நிலையான வெற்றிடத்தை முதன்மை () {எடுரேகா h1 = புதிய எடுரேகா () மகிழ்ச்சியான_ கற்றல் w1 = புதிய மகிழ்ச்சியான_ கற்றல் () h1.sayWelcome () w1.sayWishes ()}}

// வெளியீடு:

எடுரேகாவுக்கு வருக
மகிழ்ச்சியான கற்றல்

கோப்பு செயல்பாடுகள்

தி கோப்பு செயல்பாடுகள் சி # இல் கிடைக்கிறது பின்வருமாறு:

செயல்பாடு விளக்கம்
பைனரி ரீடர் பைனரி ஸ்ட்ரீமில் இருந்து பழமையான தரவைப் படிக்கிறது.
பைனரிரைட்டர் பழமையான தரவை பைனரி வடிவத்தில் எழுதுகிறது.
இடையக ஸ்ட்ரீம் பைட்டுகளின் ஸ்ட்ரீமுக்கு தற்காலிக சேமிப்பு.
அடைவு ஒரு அடைவு கட்டமைப்பைக் கையாள உதவுகிறது.
அடைவு தகவல் கோப்பகங்களில் செயல்பாடுகளைச் செய்யப் பயன்படுகிறது.
டிரைவ் இன்ஃபோ இயக்ககங்களுக்கான தகவல்களை வழங்குகிறது.
கோப்பு கோப்புகளை கையாள உதவுகிறது.
FileInfo கோப்புகளில் செயல்பாடுகளைச் செய்யப் பயன்படுகிறது.
கோப்பு ஸ்ட்ரீம் ஒரு கோப்பில் எந்த இடத்திலிருந்தும் படிக்கவும் எழுதவும் பயன்படுகிறது.
மெமரிஸ்ட்ரீம் நினைவகத்தில் சேமிக்கப்பட்ட ஸ்ட்ரீம் செய்யப்பட்ட தரவிற்கான சீரற்ற அணுகலுக்குப் பயன்படுத்தப்படுகிறது.
பாதை பாதை தகவலில் செயல்பாடுகளை செய்கிறது.
ஸ்ட்ரீம் ரீடர் பைட் ஸ்ட்ரீமில் இருந்து எழுத்துக்களைப் படிக்கப் பயன்படுகிறது.
ஸ்ட்ரீம்ரைட்டர் ஒரு ஸ்ட்ரீமுக்கு எழுத்துக்களை எழுத பயன்படுகிறது.
StringReader சரம் இடையகத்திலிருந்து படிக்க பயன்படுகிறது.
சரம் எழுத்தாளர் சரம் இடையகத்தில் எழுத பயன்படுகிறது.

கோப்பு முறை

தி கோப்பு முறை பல கோப்பு திறப்பு முறைகளை வரையறுக்கும் ஒரு கணக்கீடு ஆகும். FileMode Enumerator இன் உறுப்பினர்கள் பின்வருமாறு விவரிக்கப்பட்டுள்ளனர்:

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

கோப்பு அணுகல்

கோப்பு அணுகல் ஒரு குறிப்பிட்ட கோப்பிற்கான அணுகலைப் பெற கணக்கீடு பயன்படுத்தப்படுகிறது. இது பின்வரும் உறுப்பினர்களைக் கொண்டுள்ளது.

  • படி
  • எழுதுங்கள்
  • ReadWrite

கோப்பு பகிர்வு

தி கோப்பு பகிர்வு ஒரு குறிப்பிட்ட கோப்பைப் பகிர கணக்கீடு பயன்படுத்தப்படுகிறது. இது பின்வரும் உறுப்பினர்களைக் கொண்டுள்ளது.

  • மரபுரிமை: குழந்தை செயல்முறைகளுக்கு ஒரு பரம்பரை பரம்பரையை அனுப்ப ஒரு கோப்புத்தொகுப்பு அனுமதிக்கிறது.
  • எதுவுமில்லை: தற்போதைய கோப்பைப் பகிர்வதை எதுவும் மறுக்கவில்லை
  • படி: படிக்க கோப்பைத் திறக்க அனுமதிக்கிறது.
  • ReadWrite: படிக்கவும் எழுதவும் கோப்பைத் திறக்க ReadWrite அனுமதிக்கிறது.
  • எழுது: எழுதுவதற்கு கோப்பை திறக்க எழுது அனுமதிக்கிறது.

நிகழ்வுகள்

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

பதிப்பகத்தார்

TO பதிப்பகத்தார் நிகழ்வின் வரையறை மற்றும் பிரதிநிதி ஆகியவற்றைக் கொண்டுள்ளது. தி நிகழ்வு-பிரதிநிதி சங்கம் இந்த பொருளில் வரையறுக்கப்படுகிறது. அ பதிப்பகத்தார் வர்க்க பொருள் நிகழ்வைத் தூண்டுகிறது, அது பிற பொருள்களுக்கு அறிவிக்கப்படும்.

சந்தாதாரர்

TO சந்தாதாரர் நிகழ்வை ஏற்றுக்கொண்டு ஒரு வழங்குகிறது நிகழ்வு கையாளுநர். தி பிரதிநிதி வெளியீட்டாளர் வகுப்பில் முறை / நிகழ்வைப் பயன்படுத்துகிறது கையாளுபவர் சந்தாதாரர் வகுப்பின்.

உதாரணமாக:

கணினி பெயர்வெளியைப் பயன்படுத்துதல் எடுரேகா {பொது பிரதிநிதி சரம் டெல் (சரம் சரம்) வகுப்பு நிகழ்வுத் தடுப்பு {நிகழ்வு டெல் நியூஎவென்ட் பொது நிகழ்வுத் தடுப்பு () {this.NewEvent + = புதிய டெல் (இது.வெல்கம் யூசர்)} பொது சரம் வரவேற்பு (சரம் பயனர்பெயர்) {திரும்பவும் . '+ பயனர்பெயர்} நிலையான வெற்றிடம் முதன்மை (சரம் [] ஆர்க்ஸ்) {EventBlock obj1 = புதிய EventBlock () சரம் முடிவு = obj1.NewEvent (' மகிழ்ச்சியான கற்றல் ') கன்சோல்.ரைட்லைன் (முடிவு)}}}

// வெளியீடு:

எடுரேகாவுக்கு வருக. மகிழ்ச்சியான கற்றல்

பொதுவானவை

பொதுவானவை ஒரு வகுப்பின் உறுப்பினர்கள் மற்றும் முறைகளை இடம் வைத்திருப்பவர்களுடன் வழங்கும் ஒரு கருத்து இயக்க நேரம். பயன்படுத்தி பொதுவானவற்றை நாம் வரையறுக்கலாம் அடைப்புக்குறிகள். பின்வரும் எடுத்துக்காட்டுகளைப் பார்ப்போம்.

ஒரு வகுப்பில் பொதுவானவை

கணினி பெயர்வெளியைப் பயன்படுத்துதல் எடுரேகா {வகுப்பு ஜெனரிக் கிளாஸ் {பொது ஜெனரிக் கிளாஸ் (டி எம்.எஸ்.ஜி) {கன்சோல்.ரைட்லைன் (எம்.எஸ்.ஜி)}} வகுப்பு நிரல் {நிலையான வெற்றிடம் முதன்மை (சரம் [] ஆர்க்ஸ்) {ஜெனரிக் கிளாஸ் ஜென் = புதிய ஜெனரிக் கிளாஸ் ('இந்த செய்தி பொதுவான வகுப்பிலிருந்து வந்தது' ) ஜெனரிக் கிளாஸ் genI = புதிய ஜெனரிக் கிளாஸ் (123) ஜெனரிக் கிளாஸ் getCh = புதிய ஜெனரிக் கிளாஸ் ('E')}}}

// வெளியீடு:

இந்த செய்தி பொதுவான வகுப்பிலிருந்து வந்தது
123
இருக்கிறது

ஒரு முறையில் பொதுவானவை

கணினி பெயர்வெளியைப் பயன்படுத்துதல் எடுரேகா {வகுப்பு ஜெனரிக் கிளாஸ் {பொது வெற்றிடக் காட்சி (டி எம்.எஸ்.ஜி) {கன்சோல்.ரைட்லைன் (எம்.எஸ்.ஜி)}} வகுப்பு நிரல் {நிலையான வெற்றிடம் முதன்மை (சரம் [] ஆர்க்ஸ்) {ஜெனரிக் கிளாஸ் ஜெனீசி = புதிய ஜெனரிக் கிளாஸ் () ஜென்க்ஷோ ('இது செய்தி பொதுவான முறையிலிருந்து ') genC.Show (321) genC.Show (' H ')}}}

// வெளியீடு:

இந்த செய்தி பொதுவான முறையிலிருந்து வந்தது
321
எச்

பிரதிநிதிகள்

தி பிரதிநிதி முறைக்கு ஒரு குறிப்பாக செயல்படுகிறது. அடிப்படையில் இது ஒரு செயல்பாடு சுட்டிக்காட்டி சி மற்றும் சி ++ இல் ஆனால் மிகச் சிறந்த மற்றும் வகை-பாதுகாப்பானது. இல் பிரதிநிதி நிலையான முறை முறையை மட்டுமே இணைக்கிறது. இல் பிரதிநிதி உதாரணமாக முறை முறை மற்றும் நிகழ்வு இரண்டையும் இணைக்கிறது. பிரதிநிதியின் சிறந்த பயன்பாடு ஒரு நிகழ்வு.

உதாரணமாக:

கணினி பிரதிநிதி எண்ணாக கால்குலேட்டர் (int n) பொது வகுப்பு எடுரேகா {நிலையான எண்ணாக எண் = 25 பொது நிலையான எண்ணாகச் சேர்க்கவும் (int n) {எண் = எண் + n திரும்பும் எண்} பொது நிலையான எண்ணாக mul (int n) {number = number * n return எண்} பொது நிலையான எண்ணாக getNumber () {திரும்ப எண்} பொது நிலையான வெற்றிடத்தை முதன்மை (சரம் [] ஆர்க்ஸ்) {கால்குலேட்டர் சி 1 = புதிய கால்குலேட்டர் (சேர்) கால்குலேட்டர் சி 2 = புதிய கால்குலேட்டர் (மல்) சி 1 (20) கன்சோல்.ரைட்லைன் ('கால்குலேட்டருக்குப் பிறகு ஒரு பிரதிநிதி, புதிய எண்: '+ getNumber ()) c2 (3) கன்சோல்.ரைட்லைன் (' கால்குலேட்டர் இரண்டு பிரதிநிதிக்குப் பிறகு, புதிய எண்: '+ getNumber ())}}

// வெளியீடு:

மாற்றக்கூடிய மற்றும் மாறாத பொருட்களுக்கு இடையிலான வேறுபாட்டை விளக்குங்கள்.

கால்குலேட்டர் ஒரு பிரதிநிதிக்குப் பிறகு, புதிய எண்: 45
கால்குலேட்டர் இரண்டு பிரதிநிதிக்குப் பிறகு, புதிய எண்: 135

பிரதிபலிப்பு

ரன் நேரத்தில் மெட்டாடேட்டாவைப் பெற பிரதிபலிப்பு தேவை. குறிப்பு கிடைக்கிறது System.Reflection பெயர்வெளி. இதை இயக்க பின்வரும் வகுப்புகள் தேவை.

  • வகை
  • உறுப்பினர் தகவல்
  • கட்டமைப்பாளர் தகவல்
  • முறைஇன்ஃபோ
  • புலம்இன்ஃபோ
  • சொத்து தகவல்
  • TypeInfo
  • EventInfo
  • தொகுதி
  • சட்டசபை
  • சட்டமன்ற பெயர்
  • சுட்டிக்காட்டி

வகை வகை

சி # வகை வகுப்பு என்பது வகை வகைகள், இடைமுக வகைகள், கணக்கீட்டு வகைகள், வரிசை வகைகள், மதிப்பு வகைகளுக்கான வகை அறிவிப்புகளைக் குறிக்கிறது

பண்புகள் வகை

வகை வகுப்புகளின் முக்கியமான பண்புகளின் பட்டியல் கீழே குறிப்பிடப்பட்டுள்ளது.

சொத்து விளக்கம்
சட்டசபை இந்த வகைக்கு சட்டமன்றம் கிடைக்கிறது.
AssemblyQualifiedName இந்த வகைக்கு சட்டசபை தகுதி வாய்ந்த பெயரைப் பெறுகிறது.
பண்புக்கூறுகள் வகையுடன் தொடர்புடைய பண்புகளை பெறுகிறது.
பேஸ் டைப் அடிப்படை அல்லது பெற்றோர் வகையைப் பெறுகிறது.
முழு பெயர் வகையின் முழு தகுதி வாய்ந்த பெயரைப் பெறுகிறது.
IsAbstract வகை சுருக்கமாக இருக்கிறதா என்று சோதிக்க பயன்படுகிறது.
இஸ்அர்ரே வகை வரிசை என்பதை சரிபார்க்க பயன்படுத்தப்படுகிறது.
IsClass வகை வகுப்பு என்பதை சரிபார்க்க பயன்படுத்தப்படுகிறது.
IsEnum வகை Enum என்பதை சரிபார்க்க பயன்படுத்தப்படுகிறது.
IsInterface வகை இடைமுகமா என்பதை சரிபார்க்க பயன்படுகிறது.
இஸ்நெஸ்டட் வகை நெஸ்டட் என்பதை சரிபார்க்க பயன்படுத்தப்படுகிறது.
IsPrimitive வகை பழமையானதா என்பதை சரிபார்க்க பயன்படுகிறது.
IsPointer வகை சுட்டிக்காட்டி என்பதை சரிபார்க்க பயன்படுத்தப்படுகிறது.
இஸ்னோட் பப்ளிக் வகை பொதுவில்லையா என்று சோதிக்க பயன்படுகிறது.
IsPublic வகை பொது என்பதை சரிபார்க்க பயன்படுத்தப்படுகிறது.
IsSealed வகை சீல் செய்யப்பட்டுள்ளதா என சோதிக்க பயன்படுகிறது.
IsSerializable வகை சீரியலைசபிள் என்பதை சரிபார்க்க பயன்படுத்தப்படுகிறது.
உறுப்பினர் வகை வகை நெஸ்டட் வகையின் உறுப்பினர் வகை என்பதை சரிபார்க்கப் பயன்படுகிறது.
தொகுதி வகையின் தொகுதியைப் பெறுகிறது.
பெயர் வகையின் பெயரைப் பெறுகிறது.
பெயர்வெளி வகையின் பெயர்வெளியைப் பெறுகிறது.
சொத்து விளக்கம்
GetConstructors () வகைக்கான அனைத்து பொது கட்டமைப்பாளர்களையும் வழங்குகிறது.
GetConstructors (BindingFlags) குறிப்பிட்ட பைண்டிங்ஃப்ளாக்ஸுடன் வகைக்கான அனைத்து கட்டமைப்பாளர்களையும் வழங்குகிறது.
GetFields () வகைக்கான அனைத்து பொது புலங்களையும் வழங்குகிறது.
கெட்ஃபீல்ட்ஸ் (பைண்டிங்ஃப்ளாக்ஸ்) குறிப்பிட்ட பைண்டிங்ஃப்ளாக்ஸுடன் வகைக்கான அனைத்து பொது கட்டமைப்பாளர்களையும் வழங்குகிறது.
GetMembers () வகைக்கான அனைத்து பொது உறுப்பினர்களையும் வழங்குகிறது.
GetMembers (பைண்டிங்ஃப்ளாக்ஸ்) குறிப்பிட்ட பைண்டிங்ஃப்ளாக்ஸுடன் வகைக்கான அனைத்து உறுப்பினர்களையும் வழங்குகிறது.
GetMethods () வகைக்கான அனைத்து பொது முறைகளையும் வழங்குகிறது.
GetMethods (BindingFlags) குறிப்பிட்ட பைண்டிங்ஃப்ளாக்ஸுடன் வகைக்கான அனைத்து முறைகளையும் வழங்குகிறது.
GetProperties () வகைக்கான அனைத்து பொது பண்புகளையும் வழங்குகிறது.
GetProperties (பைண்டிங்ஃப்ளாக்ஸ்) குறிப்பிட்ட பைண்டிங்ஃப்ளாக்ஸுடன் வகைக்கான அனைத்து பண்புகளையும் வழங்குகிறது.
GetType () தற்போதைய வகையைப் பெறுகிறது.
GetType (சரம்) கொடுக்கப்பட்ட பெயருக்கான வகையைப் பெறுகிறது.

பிரதிபலிப்பு எடுத்துக்காட்டுகள்:

வகையைப் பெறுங்கள்

உதாரணமாக:

கணினி பொது வகுப்பைப் பயன்படுத்துதல் GetType {பொது நிலையான வெற்றிடத்தை முதன்மை () {int a = 10 வகை வகை = a.GetType () கன்சோல்.ரைட்லைன் (வகை)}}

// வெளியீடு:

சிஸ்டம்.இன்ட் 32

சட்டசபை கிடைக்கும்

உதாரணமாக:

System.Reflection பொது வகுப்பு GetAsbel {பொது நிலையான வெற்றிடத்தை முதன்மை () {வகை t = typeof (System.String) Console.WriteLine (t.Asbel)}}

// வெளியீடு:

System.Private.CoreLib, பதிப்பு = 4.0.0.0, கலாச்சாரம் = நடுநிலை, PublicKeyToken = 7cec85d7bea7798e

அச்சு வகை தகவல்

உதாரணமாக:

System.Reflection பொது வகுப்பு அச்சு வகை {பொது நிலையான வெற்றிடத்தை முதன்மை () {வகை t = typeof (System.String) Console.WriteLine (t.FullName) Console.WriteLine (t.BaseType) Console.WriteLine (t.IsClass) கன்சோல்.ரைட்லைன் (t.IsEnum) கன்சோல்.ரைட்லைன் (t.IsInterface)}}

// வெளியீடு:

உண்மை
பொய்
பொய்

கட்டமைப்பாளர்களை அச்சிடுங்கள்

உதாரணமாக:

System.Reflection பொது வகுப்பு PrintConstructors {public static void Main () {type t = typeof (System.String) Console.WriteLine ('{0} வகையின் கட்டமைப்பாளர்கள் ...', t) கட்டமைப்பாளர் தகவல் [] ci = t .GetConstructors (BindingFlags.Public | BindingFlags.Instance) foreach (கட்டமைப்பாளரின் தகவல் ci இல்) {Console.WriteLine (c)}}}

// வெளியீடு:

System.String வகையின் கட்டமைப்பாளர்கள் ...
வெற்றிடத்தை .ctor (சார் [])
வெற்றிடத்தை .ctor (சார் [], Int32, Int32)
வெற்றிடத்தை .ctor (சார் *)
.க்டர் (சார் *, இன்ட் 32, இன்ட் 32)
வெற்றிடத்தை .ctor (SByte *)
வெற்றிடத்தை .ctor (SByte *, Int32, Int32)
வெற்றிடத்தை .ctor (SByte *, Int32, Int32, System.Text.Encoding)
வெற்றிடத்தை .ctor (சார், இன்ட் 32)
வெற்றிடத்தை .ctor (System.ReadOnlySpan`1 [System.Char])

அச்சிடும் முறைகள்

உதாரணமாக:

System.Reflection பொது வகுப்பு அச்சு முறைகள் {பொது நிலையான வெற்றிடத்தை முதன்மை () {வகை t = typeof (System.String) Console.WriteLine ('{0} வகையின் முறைகள் ...', t) MethodInfo [] ci = t .GetMethods (BindingFlags.Public | BindingFlags.Instance) foreach (ci இல் MethodInfo m) {Console.WriteLine (m)}}}

// வெளியீடு:

System.String வகை ...
System.String Replace (System.String, System.String)
System.String [] Split (Char, System.StringSplitOptions)
System.String [] Split (Char, Int32, System.StringSplitOptions)
System.String [] Split (Char [])
System.String [] Split (Char [], Int32)
System.String [] Split (Char [], System.StringSplitOptions)
System.String [] Split (Char [], Int32, System.StringSplitOptions)
System.String [] Split (System.String, System.StringSplitOptions)
System.String [] Split (System.String, Int32, System.StringSplitOptions)
System.String [] Split (System.String [], System.StringSplitOptions)
System.String [] Split (System.String [], Int32, System.StringSplitOptions) ......

புலங்களை அச்சிடுக

உதாரணமாக:

System.Reflection பொது வகுப்பு அச்சுப்பொறிகள் {பொது நிலையான வெற்றிடத்தை முதன்மை () {வகை t = typeof (System.String) Console.WriteLine ('{0} வகையின் புலங்கள் ...', t) FieldInfo [] ci = t .GetFields (BindingFlags.Public | BindingFlags.Static | BindingFlags.NonPublic) foreach (FieldInfo f in ci) {Console.WriteLine (f)}}}

// வெளியீடு:

System.String வகையின் புலங்கள் ...
System.String வெற்று

இப்போது, ​​சில மேம்பட்ட சி # புரோகிராமிங் கருத்துகளுக்கு செல்லலாம்

மேம்பட்ட சி # கருத்துக்கள்

அநாமதேய செயல்பாடு

ஒரு குறிப்பிட்ட பெயர் இல்லாத செயல்பாடு என்று அழைக்கப்படுகிறது அநாமதேய செயல்பாடுகள். சி # இல் இரண்டு வகையான அநாமதேய செயல்பாடுகள் உள்ளன

  • லாம்ப்டா வெளிப்பாடுகள்
  • அநாமதேய முறைகள்

உதாரணமாக:

கணினி பெயர்வெளியைப் பயன்படுத்துதல் LambdaExpressions {class Edureka {பிரதிநிதி எண்ணாக சதுரம் (முழு எண்) நிலையான வெற்றிடம் முதன்மை (சரம் [] args) {சதுரம் GetSquare = x => x * x int j = GetSquare (25) Console.WriteLine ('சதுரம்:' + j)}}}

// வெளியீடு:

சதுரம்: 625

அநாமதேய முறைகள்

தி அநாமதேய முறை அதே செயல்பாட்டை வழங்குகிறது லாம்ப்டா வெளிப்பாடு, தவிர அளவுரு பட்டியலை புறக்கணிக்க இது நம்மை அனுமதிக்கிறது.

உதாரணமாக:

கணினி பெயர்வெளியைப் பயன்படுத்துதல் அநாமதேய முறைகள் {வகுப்பு நிரல் {பொது பிரதிநிதி வெற்றிட அநாமதேய ஃபன் () நிலையான வெற்றிடம் முதன்மை (சரம் [] ஆர்க்ஸ்) {அநாமதேய வேடிக்கை = பிரதிநிதி () {கன்சோல்.ரைட்லைன் ('இது அநாமதேய செயல்பாடு')} வேடிக்கை ()}}}

// வெளியீடு:

இது அநாமதேய செயல்பாடு

மல்டி-த்ரெடிங்

மல்டித்ரெடிங் என்பது பல நூல்கள் உருவாக்கப்பட்டு வெவ்வேறு பணிகளுக்கு ஒதுக்கப்படும் ஒரு செயல்முறையாகும். இது ஒரு நேரத்தில் பல வேலைகளைச் செய்வதன் மூலம் நேரத்தை மிச்சப்படுத்துகிறது. இல் மல்டித்ரெடிங் வகுப்பு கிடைக்கிறது System.Threading பெயர்வெளி.

System.Threading Namespace

தி System.Threading பெயர்வெளியில் மல்டித்ரெடிங்கை எளிதாக்க வகுப்புகள் மற்றும் இடைமுகங்கள் உள்ளன. இது நூல் வளத்தை ஒத்திசைக்க வகுப்புகளை வழங்குகிறது. பொதுவாக பயன்படுத்தப்படும் வகுப்புகளின் பட்டியல் கீழே கொடுக்கப்பட்டுள்ளது:

  • நூல்
  • முடெக்ஸ்
  • டைமர்
  • கண்காணிக்கவும்
  • செமாஃபோர்
  • த்ரெட்லோகல்
  • த்ரெட்பூல்
  • நிலையற்ற

செயல்முறை மற்றும் நூல்

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

ஒரு நூலின் வாழ்க்கை சுழற்சி

ஒவ்வொரு நூலிலும் ஒரு வாழ்க்கை சுழற்சி உள்ளது. நூலின் வாழ்க்கை சுழற்சி System.Threading.Thread வகுப்பில் வரையறுக்கப்பட்டுள்ளது. எந்தவொரு நூலின் வாழ்க்கை சுழற்சியில் உள்ள கட்டங்கள் பின்வருமாறு.

  • தொடங்கப்படவில்லை
  • இயக்கக்கூடியது (இயக்கத் தயாராக உள்ளது)
  • ஓடுதல்
  • இயங்கவில்லை
  • இறந்தவர்

நூல் வகுப்பு பின்வரும் பண்புகளையும் முறைகளையும் பின்வருமாறு வழங்குகிறது.

நூல் பண்புகள்

சொத்து விளக்கம்
கரண்ட் த்ரெட் தற்போது இயங்கும் நூலின் உதாரணத்தை வழங்குகிறது.
இஸ்அலைவ் தற்போதைய நூல் உயிருடன் இருக்கிறதா இல்லையா என்பதை சரிபார்க்கிறது.
IsBackground தற்போதைய நூலின் மதிப்பைப் பெற / அமைக்க பின்னணியில் உள்ளது அல்லது இல்லை.
ManagedThreadId தற்போது நிர்வகிக்கப்படும் நூலுக்கான தனிப்பட்ட ஐடியைப் பெற பயன்படுத்தப்படுகிறது.
பெயர் தற்போதைய நூலின் பெயரைப் பெற அல்லது அமைக்கப் பயன்படுகிறது.
முன்னுரிமை தற்போதைய நூலின் முன்னுரிமையைப் பெற அல்லது அமைக்கப் பயன்படுகிறது.
த்ரெட்ஸ்டேட் நூல் நிலையைக் குறிக்கும் மதிப்பைத் தர பயன்படுகிறது.

நூல் முறைகள்

முறை விளக்கம்
கருக்கலைப்பு () நூலை நிறுத்த பயன்படுகிறது. இது ThreadAbortException ஐ எழுப்புகிறது.
குறுக்கீடு () WaitSleepJoin நிலையில் இருக்கும் ஒரு நூலை குறுக்கிட பயன்படுகிறது.
சேரவும் () இந்த நூல் முடிவடையும் வரை அனைத்து அழைப்பு நூல்களையும் தடுக்க பயன்படுகிறது.
மீட்டமைஅபோர்ட் () தற்போதைய நூலுக்கான கருக்கலைப்பு கோரிக்கையை ரத்து செய்ய பயன்படுத்தப்படுகிறது.
தற்குறிப்பு() இடைநீக்கம் செய்யப்பட்ட நூலை மீண்டும் தொடங்க பயன்படுகிறது. இது வழக்கற்றுப் போய்விட்டது.
தூக்கம் (Int32) குறிப்பிட்ட மில்லி விநாடிகளுக்கு தற்போதைய நூலை இடைநிறுத்த பயன்படுகிறது.
தொடங்கு () நூலின் தற்போதைய நிலையை இயக்கக்கூடியதாக மாற்றுகிறது.
இடைநீக்கம் () தற்போதைய நூல் இடைநிறுத்தப்படாவிட்டால் அதை இடைநிறுத்துகிறது. இது வழக்கற்றுப் போய்விட்டது.
மகசூல் () தற்போதைய நூலின் செயல்பாட்டை மற்றொரு நூலுக்கு வழங்க பயன்படுகிறது.

முதன்மை நூல் எடுத்துக்காட்டு

சிஸ்டத்தைப் பயன்படுத்தி கணினியைப் பயன்படுத்துதல். பொது வகுப்பு எடுரேகா {பொது நிலையான வெற்றிடத்தை முதன்மை (சரம் [] ஆர்க்ஸ்) {நூல் t = நூல். தற்போதைய த்ரெட் t.Name = 'மெயின் த்ரெட்' கன்சோல்.ரைட்லைன் (t.Name)}}

// வெளியீடு:

மெயின் த்ரெட்

விதிவிலக்கு கையாளுதல்

தி விதிவிலக்கு நிரல் அதன் இயக்க நேரத்தில் எறியப்பட்ட பிழை. எங்கள் நிரல் விதிவிலக்கு இலவசமாக இருக்க விதிவிலக்கு-கையாளுதலை நாங்கள் செய்கிறோம்.

விதிவிலக்கு விளக்கம்
System.DivideByZeroException எண்ணை பூஜ்ஜியத்துடன் வகுப்பதன் மூலம் உருவாக்கப்படும் பிழை.
System.NullReferenceException பூஜ்ய பொருளைக் குறிப்பிடுவதன் மூலம் உருவாக்கப்பட்ட பிழையைக் கையாளுகிறது.
System.InvalidCastException தவறான தட்டச்சு மூலம் உருவாக்கப்பட்ட பிழையை கையாளுகிறது.
System.IO.IOException உள்ளீடு / வெளியீட்டு பிழைகளை கையாளுகிறது.
System.FieldAccessException தவறான தனியார் / பாதுகாக்கப்பட்ட அணுகலால் உருவாக்கப்பட்ட பிழை.

சி # இல், செய்ய 4 முக்கிய வார்த்தைகளைப் பயன்படுத்துகிறோம் விதிவிலக்கு கையாளுதல்:

  • முயற்சி
  • பிடி
  • இறுதியாக, மற்றும்
  • வீசு
உதாரணமாக:
கணினி பொது வகுப்பைப் பயன்படுத்துதல் EdurekExample {public static void முதன்மை (சரம் [] args) {try {int a = 10 int b = 0 int x = a / b} catch (விதிவிலக்கு e) {Console.WriteLine (e)} Console.WriteLine ('இந்த செய்தி கேட்ச் பிளாக்கிலிருந்து வந்தது')}}

// வெளியீடு:

System.DivideByZeroException: பூஜ்ஜியத்தால் வகுக்க முயற்சித்தது.
F: C # TutorialC # ProgramsConsoleApp1ConsoleApp1Program.cs: வரி 10 இல் ExExaEdurekample.Main (சரம் [] args) இல்.
இந்த செய்தி கேட்ச் பிளாக்கிலிருந்து வந்தது

தனிப்பயனாக்கப்பட்ட விதிவிலக்கு எடுத்துக்காட்டு

கணினி பொது வகுப்பைப் பயன்படுத்தி<18) { throw new InvalidAgeException('Sorry, Age is expected to be greater than 18') } } public static void Main(string[] args) { try { validate(12) } catch (InvalidAgeException e) { Console.WriteLine(e) } Console.WriteLine('Catch block is being executed now.') } } 

// வெளியீடு:

தவறான AgeException: மன்னிக்கவும், வயது 18 ஐ விட அதிகமாக இருக்கும் என்று எதிர்பார்க்கப்படுகிறது
F: C # TutorialC # ProgramsConsoleApp1ConsoleApp1Program.cs: வரி 18 இல் Customized.validate (Int32 வயது) இல்
F: C # TutorialC # ProgramsConsoleApp1ConsoleApp1Program.cs: line 23 இல் Customized.Main (string [] args) இல்.
கேட்ச் பிளாக் இப்போது செயல்படுத்தப்படுகிறது.

இறுதியாக உதாரணத்தைத் தடு

கணினி பொது வகுப்பைப் பயன்படுத்துதல் FinalExecption {public static void முதன்மை (சரம் [] args) {try {int a = 10 int b = 0 int x = a / b} catch (விதிவிலக்கு e) {Console.WriteLine (e)} இறுதியாக {பணியகம் .ரைட்லைன் ('இறுதியாக தடுப்பு செயல்படுத்தப்படுகிறது')} கன்சோல்.ரைட்லைன் ('கேட்ச் பிளாக் செயல்படுத்தப்படுகிறது')}}

// வெளியீடு:

System.DivideByZeroException: பூஜ்ஜியத்தால் வகுக்க முயற்சித்தது.
FinalExecption.Main (சரம் [] args) இல் F: C # TutorialC # ProgramsConsoleApp1ConsoleApp1Program.cs: வரி 10
இறுதியாக தொகுதி செயல்படுத்தப்படுகிறது
கேட்ச் பிளாக் செயல்படுத்தப்படுகிறது

கணினி விதிவிலக்கு கையொப்பம்

[SerializableAttribute] [ComVisibleAttribute (true)] பொது வகுப்பு SystemException: விதிவிலக்கு

கணினி விதிவிலக்கு கட்டமைப்பாளர்கள்

பில்டர் விளக்கம்
SystemException () SystemException வகுப்பின் புதிய நிகழ்வைத் தொடங்க இது பயன்படுகிறது.
SystemException

(சீரியலைசேஷன் இன்ஃபோ, ஸ்ட்ரீமிங் கான்டெக்ஸ்ட்)

SystemException வகுப்பின் புதிய நிகழ்வுகளை வரிசைப்படுத்தப்பட்ட தரவுகளுடன் தொடங்க இது பயன்படுகிறது.
SystemException (சரம்) ஒரு குறிப்பிட்ட பிழை செய்தியுடன் SystemException வகுப்பின் புதிய நிகழ்வைத் தொடங்க இது பயன்படுகிறது.
SystemException (சரம், விதிவிலக்கு) SystemException வகுப்பின் புதிய நிகழ்வை ஒரு குறிப்பிட்ட பிழை செய்தி மற்றும் இந்த விதிவிலக்குக்கான உள் விதிவிலக்கு பற்றிய குறிப்புடன் தொடங்க இது பயன்படுகிறது.

கணினி விதிவிலக்கு பண்புகள்

சொத்து விளக்கம்
தகவல்கள் விதிவிலக்கு பற்றிய கூடுதல் பயனர் வரையறுக்கப்பட்ட தகவல்களை வழங்கும் முக்கிய / மதிப்பு ஜோடிகளின் தொகுப்பைப் பெற இது பயன்படுத்தப்படுகிறது.
உதவி இணைப்பு இந்த விதிவிலக்குடன் தொடர்புடைய உதவி கோப்பிற்கான இணைப்பைப் பெற அல்லது அமைக்க இது பயன்படுகிறது.
HResult இது ஒரு குறிப்பிட்ட விதிவிலக்குக்கு ஒதுக்கப்பட்ட குறியிடப்பட்ட எண் மதிப்பான HRESULT ஐப் பெற அல்லது அமைக்கப் பயன்படுகிறது.
இன்னர் எக்ஸ்செப்சன் தற்போதைய விதிவிலக்குக்கு காரணமான விதிவிலக்கு நிகழ்வைப் பெற இது பயன்படுத்தப்படுகிறது.
செய்தி தற்போதைய விதிவிலக்கை விவரிக்கும் செய்தியைப் பெற இது பயன்படுத்தப்படுகிறது.
மூல பிழையை ஏற்படுத்தும் பயன்பாட்டின் பெயரைப் பெற அல்லது அமைக்க இது பயன்படுகிறது.
ஸ்டேக்ரேஸ் அழைப்பு அடுக்கில் உடனடி பிரேம்களின் சரம் பிரதிநிதித்துவத்தைப் பெற இது பயன்படுத்தப்படுகிறது.
இலக்கு தளம் தற்போதைய விதிவிலக்கை வீசும் முறையைப் பெற இது பயன்படுத்தப்படுகிறது.

கணினி விதிவிலக்கு முறைகள்

முறைகள் விளக்கம்
சமம் (பொருள்) குறிப்பிட்ட பொருள் தற்போதைய பொருளுக்கு சமமா இல்லையா என்பதை சரிபார்க்க இது பயன்படுகிறது.
இறுதி () வளங்களை விடுவிக்கவும், தூய்மைப்படுத்தும் செயல்களைச் செய்யவும் இது பயன்படுத்தப்படுகிறது.
GetBaseException () இது ரூட் விதிவிலக்கு பெற பயன்படுத்தப்படுகிறது.
GetHashCode () இது ஹாஷ் குறியீட்டைப் பெறப் பயன்படுகிறது.
GetObjectData

(சீரியலைசேஷன் இன்ஃபோ, ஸ்ட்ரீமிங் கான்டெக்ஸ்ட்)

பொருள் தரவைப் பெற இது பயன்படுத்தப்படுகிறது.
GetType () தற்போதைய நிகழ்வின் இயக்க நேர வகையைப் பெற இது பயன்படுத்தப்படுகிறது.
MemberwiseClone () தற்போதைய பொருளின் ஆழமற்ற நகலை உருவாக்க இது பயன்படுகிறது.
ToString () தற்போதைய விதிவிலக்கின் சரம் பிரதிநிதித்துவத்தை உருவாக்க மற்றும் திருப்பித் தர இது பயன்படுகிறது.

கணினி விதிவிலக்கு எடுத்துக்காட்டு

சிஸ்டம் பெயர்வெளியைப் பயன்படுத்துதல் CSharpProgram {class SystemExceptionExample {நிலையான வெற்றிடம் முதன்மை (சரம் [] args) {try {int [] arr = new int [5] arr [10] = 25} catch (SystemException e) {Console.WriteLine (e)} }}}

// வெளியீடு:

System.IndexOutOfRangeException: குறியீடானது வரிசையின் எல்லைக்கு வெளியே இருந்தது.
CSharpProgram.SystemExceptionExample.Main (சரம் [] args) இல் F: C # TutorialC # ProgramsConsoleApp1ConsoleApp1Program.cs: வரி 11

ஒத்திசைவு

ஒத்திசைவு என்பது ஒரு குறிப்பிட்ட நேரத்திற்கு வளத்தை அணுக 1 நூலை மட்டுமே இயக்கும் ஒரு நுட்பமாக இருக்கலாம். நியமிக்கப்பட்ட நூல் அதன் பணியை முடிக்கும் வரை எந்த மாற்று நூலும் குறுக்கிடாது.

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

ஒத்திசைவு இல்லாமல் எடுத்துக்காட்டு

System.Threading class Edureka {public void PrintTable () {க்கான (int i = 1 i<= 10 i++) { Thread.Sleep(100) Console.WriteLine(i) } } } class Program { public static void Main(string[] args) { Edureka p = new Edureka() Thread t1 = new Thread(new ThreadStart(p.PrintTable)) Thread t2 = new Thread(new ThreadStart(p.PrintTable)) t1.Start() t2.Start() } } 

// வெளியீடு:

ஒன்று
ஒன்று
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10

ஒத்திசைவுடன் எடுத்துக்காட்டு

System.Threading class Edureka {public void PrintTable () {பூட்டு (இது) {(int i = 1 i<= 10 i++) { Thread.Sleep(100) Console.WriteLine(i) } } } } class Program { public static void Main(string[] args) { Edureka p = new Edureka() Thread t1 = new Thread(new ThreadStart(p.PrintTable)) Thread t2 = new Thread(new ThreadStart(p.PrintTable)) t1.Start() t2.Start() } } 

// வெளியீடு:

ஒன்று
2
3
4
5
6
7
8
9
10
ஒன்று
2
3
4
5
6
7
8
9
10

புதிய அம்சங்கள்

மைக்ரோசாப்ட் சி # மொழியில் பல சமீபத்திய அம்சங்களைச் சேர்த்தது, அவற்றில் சில கீழே குறிப்பிடப்பட்டுள்ளன.

சி # 6.0

  • நிலையான உத்தரவைப் பயன்படுத்துதல்
  • விதிவிலக்கு வடிப்பான்கள்
  • பிடிப்பதில் காத்திருங்கள் / இறுதியாக தடுப்புகள்
  • ஆட்டோ சொத்து துவக்கிகள்
  • பெறுநருக்கு மட்டும் பண்புகளுக்கான இயல்புநிலை மதிப்புகள்
  • வெளிப்பாடு உடல் உறுப்பினர்கள்
  • பூஜ்ய பிரச்சாரகர்
  • சரம் இடைக்கணிப்பு
  • பெயர் ஆபரேட்டர்
  • அகராதி துவக்கி
  • ஒரு சேவையாக கம்பைலர் (ரோஸ்லின்)

சி # 7.0

  • வடிவ பொருத்தம்
  • டுபில்ஸ்
  • டிகான்ஸ்ட்ரக்ஷன்
  • உள்ளூர் செயல்பாடுகள்
  • இலக்க பிரிப்பான்
  • பைனரி எழுத்தாளர்கள்
  • Ref வருமானம் மற்றும் உள்ளூர்
  • வெளிப்பாடு உடல் கட்டமைப்பாளர்கள் மற்றும் இறுதி வீரர்கள்
  • வெளிப்பாடு உடல் பெறுநர்கள் மற்றும் அமைப்பாளர்கள்
  • அவுட் மாறிகள்
  • பொதுவான ஒத்திசைவு திரும்ப வகைகள்

சி # 7.1

  • அசின்க் பிரதான
  • இயல்புநிலை வெளிப்பாடுகள்

சி # அடிப்படையிலான நேர்காணல் கேள்விகள்

சி # புரோகிராமிங் மொழியை அடிப்படையாகக் கொண்ட முக்கியமான நேர்காணல் கேள்விகள் இந்த புதுப்பிக்கப்பட்டவற்றில் காணப்படுகின்றன .

இதன் மூலம், இந்த “சி # டுடோரியல்” கட்டுரையின் முடிவுக்கு வருகிறோம். தரவு கட்டமைப்புகள், தொடரியல், செயல்பாடு மற்றும் அவற்றைப் பயன்படுத்தி நிகழ்த்தப்படும் செயல்பாடுகளின் முக்கியத்துவத்தை நீங்கள் புரிந்து கொண்டீர்கள் என்று நம்புகிறேன். இப்போது சி # இல் புரோகிராமிங்கின் அடிப்படைகளை நீங்கள் புரிந்து கொண்டீர்கள்சி # பயிற்சி, பாருங்கள் பயிற்சி வழங்கப்பட்டது ஜாவா போன்ற பல தொழில்நுட்பங்களில் எடுரேகாவால், வசந்த மற்றும் பலமேலும், உலகம் முழுவதும் பரவியுள்ள 250,000 க்கும் மேற்பட்ட திருப்திகரமான கற்றவர்களின் வலைப்பின்னலைக் கொண்ட நம்பகமான ஆன்லைன் கற்றல் நிறுவனம் கிடைத்தது எங்களுக்கு கேள்வி? இந்த “சி # டுடோரியல்” வலைப்பதிவின் கருத்துகள் பிரிவில் இதைக் குறிப்பிடுங்கள், விரைவில் நாங்கள் உங்களைத் தொடர்புகொள்வோம்.