Avatar ·

C# में enum (गणना) के लिए [Flags] विशेषता का क्या अर्थ है?

सभी को नमस्ते! मैंने अभी-अभी C# सीखना शुरू किया है और मुझे enum घोषणा से पहले `[Flags]` विशेषता मिली। मैंने उदाहरणों में ऐसा कोड देखा, लेकिन समझ नहीं पाया कि इसकी आवश्यकता क्यों है और इसका सही उपयोग कैसे करें। सामान्य enum मैं समझता हूँ — वे केवल नामित constants सेट करते हैं: ```csharp enum DayOfWeek { Monday = 1, Tuesday = 2, Wednesday = 3 } ``` लेकिन जब मैं ऐसा देखता हूँ: ```csharp [Flags] enum Permissions { None = 0, Read = 1, Write = 2, Execute = 4 } ``` मैं समझ नहीं पाता कि यहाँ `[Flags]` क्यों है और मान 2 की घात (1, 2, 4) के रूप में क्यों सेट किए गए हैं। सामान्य enum से क्या अंतर है? मैंने बिना attribute के ऐसे enum का उपयोग करने की कोशिश की — कोड काम करता है, लेकिन मुझे लगता है कि मैं कुछ गलत कर रहा हूँ। क्या आप सरल उदाहरणों के साथ समझा सकते हैं: कैसे घोषित करें, मानों को कैसे combine करें, flag की उपस्थिति कैसे जाँचें? और सबसे महत्वपूर्ण — यदि `[Flags]` हटा दिया जाए तो क्या बदलेगा? पहले से धन्यवाद!