C# இல் Enums உடன் பணிபுரிதல்
C# இல் உள்ள enum மூலம் எண்ணுவது ஆரம்பநிலைக்கு சற்று குழப்பமாக இருக்கும். சரியாகச் செய்யாவிட்டால், இது பெரும்பாலும் தொகுக்கும் நேரப் பிழைகளுக்கு வழிவகுக்கும். பயனுள்ள குறியீட்டு முறைக்கு enum மதிப்புகள் மூலம் மீண்டும் மீண்டும் செய்வதற்கான சரியான வழியைப் புரிந்துகொள்வது மிகவும் முக்கியமானது.
இந்தக் கட்டுரையில், பொதுவான இடர்ப்பாடுகள் மற்றும் சரியான முறையை எடுத்துக்காட்டும் ஒரு உதாரணத்தைப் பயன்படுத்தி, C# இல் ஒரு enumerஐ எண்ணுவதற்கான நேரடியான அணுகுமுறையைப் பற்றி விவாதிப்போம். முடிவில், நீங்கள் எந்த எண்ணையும் எளிதாகக் கணக்கிட முடியும்.
கட்டளை | விளக்கம் |
---|---|
Enum.GetValues(typeof(Suit)) | ஒரு குறிப்பிட்ட எண்ணில் மாறிலிகளின் மதிப்புகளின் வரிசையை மீட்டெடுக்கிறது. |
Enum.GetValues() | அனைத்து enum மதிப்புகளின் வரிசையை வழங்குகிறது. |
Cast<T>() | IEnumerable இன் கூறுகளை குறிப்பிட்ட வகைக்கு மாற்றுகிறது. |
Console.WriteLine() | நிலையான வெளியீட்டு ஸ்ட்ரீமில் தற்போதைய வரி டெர்மினேட்டரைத் தொடர்ந்து குறிப்பிட்ட தரவை எழுதுகிறது. |
foreach | ஒவ்வொரு உறுப்புக்கும் ஒரு தொகுதி குறியீட்டை இயக்குவதன் மூலம், சேகரிப்பு அல்லது வரிசையின் மூலம் மீண்டும் செயல்படுகிறது. |
public enum | ஒரு கணக்கீட்டை வரையறுக்கிறது, இது பெயரிடப்பட்ட மாறிலிகளின் தொகுப்பைக் கொண்ட ஒரு தனித்துவமான வகை எண்யூமரேட்டர் பட்டியல். |
எனம் மறு செய்கையின் விரிவான விளக்கம்
வழங்கப்பட்ட ஸ்கிரிப்ட்கள் C# இல் உள்ள enum மூலம் எவ்வாறு சரியாக கணக்கிடுவது என்பதை விளக்குகிறது. முதல் ஸ்கிரிப்ட் பயன்படுத்துகிறது Enum.GetValues(typeof(Suit)) இல் உள்ள அனைத்து மதிப்புகளின் வரிசையை மீட்டெடுக்க Suit enum. இந்த வரிசை பின்னர் a உடன் மீண்டும் செய்யப்படுகிறது foreach லூப், நிரலை இயக்க அனுமதிக்கிறது DoSomething(suit) ஒவ்வொரு enum மதிப்புக்கும் முறை. இந்த அணுகுமுறை நேரடியானது மற்றும் enums ஐ திறமையாக கையாள உள்ளமைக்கப்பட்ட C# முறைகளைப் பயன்படுத்துகிறது.
இரண்டாவது ஸ்கிரிப்ட் அதே இலக்கை அடைகிறது ஆனால் கூடுதல் நெகிழ்வுத்தன்மை மற்றும் வாசிப்புத்திறனுக்காக LINQ ஐப் பயன்படுத்துகிறது. அழைப்பதன் மூலம் Enum.GetValues(typeof(Suit)).Cast<Suit>(), enum மதிப்புகள் க்கு அனுப்பப்படுகின்றன Suit வகை, தேவைப்பட்டால் மேலும் மேம்பட்ட LINQ செயல்பாடுகளை அனுமதிக்கிறது. தி foreach லூப் பின்னர் ஒவ்வொரு சூட்டையும் ஒரே மாதிரியான முறையில் செயல்படுத்துகிறது DoSomething(suit) ஒவ்வொரு enum மதிப்புக்கும் முறை. இரண்டு ஸ்கிரிப்ட்களும் enums ஐ மீண்டும் செய்யவும் மற்றும் enum வகையை மாறியாகக் கருதுவது போன்ற பொதுவான ஆபத்துக்களைத் தவிர்க்கவும் அவசியம்.
C# இல் Enum மதிப்புகளை கணக்கிடுதல்
எனம் மூலம் மீண்டும் மீண்டும் செய்ய C# ஐப் பயன்படுத்துதல்
using System;
using System.Linq;
public enum Suit
{
Spades,
Hearts,
Clubs,
Diamonds
}
public class Program
{
public static void Main()
{
foreach (Suit suit in Enum.GetValues(typeof(Suit)))
{
DoSomething(suit);
}
}
public static void DoSomething(Suit suit)
{
Console.WriteLine(suit);
}
}
C# இல் உள்ள எண்களின் சரியான கணக்கீடு
Enum மறு செய்கைக்கு LINQ ஐப் பயன்படுத்துதல்
using System;
using System.Linq;
public enum Suit
{
Spades,
Hearts,
Clubs,
Diamonds
}
public class Program
{
public static void Main()
{
var suits = Enum.GetValues(typeof(Suit)).Cast<Suit>();
foreach (var suit in suits)
{
DoSomething(suit);
}
}
public static void DoSomething(Suit suit)
{
Console.WriteLine(suit);
}
}
Enum முறைகள் மற்றும் பண்புகளைப் புரிந்துகொள்வது
enums மீது திரும்ப திரும்ப, C# இல் enumகள் வழங்கும் மற்ற பயனுள்ள முறைகள் மற்றும் பண்புகளை புரிந்து கொள்வது அவசியம். அத்தகைய ஒரு முறை Enum.GetName(), இது குறிப்பிட்ட மதிப்பைக் கொண்ட குறிப்பிட்ட enum இல் மாறிலியின் பெயரை வழங்குகிறது. enum மதிப்புகளுக்கு பயனர் நட்பு பெயர்களைக் காட்ட இது மிகவும் பயனுள்ளதாக இருக்கும்.
மற்றொரு பயனுள்ள சொத்து Enum.IsDefined(), இது ஒரு குறிப்பிட்ட enum இல் குறிப்பிட்ட மதிப்பு அல்லது பெயர் உள்ளதா என சரிபார்க்கிறது. இந்த முறை சரிபார்ப்பு நோக்கங்களுக்காக, கொடுக்கப்பட்ட மதிப்பானது, வரையறுக்கப்பட்ட enum தொகுப்பின் ஒரு பகுதியாக இருப்பதை உறுதிசெய்ய உதவுகிறது. இந்த முறைகளைப் புரிந்துகொள்வது, டெவலப்பர்கள் தங்கள் பயன்பாடுகளில் enums இன் முழு சக்தியையும் பயன்படுத்த அனுமதிக்கிறது, வலுவான மற்றும் படிக்கக்கூடிய குறியீட்டை உறுதி செய்கிறது.
C# இல் Enumerating Enumering பற்றி அடிக்கடி கேட்கப்படும் கேள்விகள்
- ஒரு enum இன் அனைத்து பெயர்களையும் நான் எவ்வாறு பெறுவது?
- பயன்படுத்தவும் Enum.GetNames(typeof(Suit)) enum இல் உள்ள மாறிலிகளின் பெயர்களின் வரிசையை மீட்டெடுக்க.
- ஒரு சரத்தை enum மதிப்பாக மாற்ற முடியுமா?
- ஆம், பயன்படுத்தவும் Enum.Parse(typeof(Suit), "Spades") ஒரு சரத்தை தொடர்புடைய enum மதிப்புக்கு மாற்ற.
- ஒரு enum இல் மதிப்பு உள்ளதா என்பதை நான் எவ்வாறு சரிபார்க்கலாம்?
- பயன்படுத்தவும் Enum.IsDefined(typeof(Suit), value) enum இல் ஒரு குறிப்பிட்ட மதிப்பு இருக்கிறதா என்று சரிபார்க்க.
- பிட்வைஸ் செயல்பாடுகளுடன் enumகளைப் பயன்படுத்த முடியுமா?
- ஆம், உடன் enum ஐ வரையறுப்பதன் மூலம் [Flags] பண்பு, enums பிட்வைஸ் செயல்பாடுகளுக்கு பயன்படுத்தப்படலாம்.
- ஒரு enum இன் அடிப்படை வகையை நான் எவ்வாறு பெறுவது?
- பயன்படுத்தவும் Enum.GetUnderlyingType(typeof(Suit)) enum இன் அடிப்படை வகையைப் பெற.
- ஒரு enum இன் இயல்புநிலை மதிப்பு என்ன?
- enum இன் இயல்புநிலை மதிப்பு என்பது பூஜ்ஜியத்துடன் தொடர்புடைய மதிப்பாகும், இது பொதுவாக enum இல் பட்டியலிடப்பட்ட முதல் மதிப்பாகும்.
- மதிப்புகளுக்குப் பதிலாக enum பெயர்கள் மூலம் மீண்டும் சொல்ல முடியுமா?
- ஆம், நீங்கள் பயன்படுத்தலாம் foreach (string name in Enum.GetNames(typeof(Suit))) பெயர்கள் மூலம் மீண்டும் சொல்ல.
- இரண்டு enum மதிப்புகளை எவ்வாறு ஒப்பிடுவது?
- போன்ற நிலையான ஒப்பீட்டு ஆபரேட்டர்களைப் பயன்படுத்தி Enum மதிப்புகளை ஒப்பிடலாம் ==, !=, <, மற்றும் >.
எண் கணக்கீட்டின் முக்கிய குறிப்புகள்
முடிவில், C# இல் ஒரு enumஐ கணக்கிடுவதற்கு, மொழி வழங்கிய சரியான முறைகள் மற்றும் பண்புகளை புரிந்து கொள்ள வேண்டும். பயன்படுத்தி Enum.GetValues நேரடியான மறு செய்கையை அனுமதிக்கிறது, அதே நேரத்தில் LINQ கூடுதல் நெகிழ்வுத்தன்மையை வழங்குகிறது. இந்த முறைகளின் சரியான பயன்பாட்டை உறுதிசெய்வது, enum வகையை மாறியாகக் கருதுவது போன்ற பொதுவான ஆபத்துக்களைத் தடுக்கிறது. கூடுதலாக, போன்ற பிற enum முறைகளை மேம்படுத்துதல் Enum.GetName மற்றும் Enum.IsDefined உங்கள் குறியீட்டின் வலிமையை அதிகரிக்கிறது. பயனுள்ள C# நிரலாக்கத்திற்கு இந்த நுட்பங்களில் தேர்ச்சி பெறுவது அவசியம், உங்கள் பயன்பாடுகளில் enumகளை திறமையாகவும் துல்லியமாகவும் கையாள உதவுகிறது.