सी # enums पर अंकगणितीय संचालन का क्या समर्थन है? हैरानी की बात है, मैं इसे न तो Google, न ही विकिपीडिया और स्टैक ओवरफ्लो के माध्यम से ढूंढने में असमर्थ था।एनम मूल्यों पर अंकगणितीय परिचालन
क्या मैं दो enum मान किसी भी कास्ट के बिना जोड़ सकता हूं? किसी मान के लिए मनमानी निरंतर जोड़ें या इसे घटाना? या एनम गारंटी देता है कि उस प्रकार का मान हमेशा परिभाषित enum मानों या उनके बिटमास्क में से एक है?
class ... {...
enum WeekDays : byte { Sun = 1, Mon = 2, Tue = 3, /* and so on*/ Sat = 7 };
public static bool IsWeekend (WeekDays _d) {
/// Can I be sure here that _d has value from 1..7? May it be any of 0..255?
}
मुझे थोड़ा सा संचालन पता है, झंडे का प्रतिनिधित्व करने के लिए उन्हें समर्थन देना उचित लगता है।
विकिपीडिया हमें बताता है, मेरे नमूना भी _d - 1
या WeekDays.Tue - WeekDays.Mon
, कि सख्ती से आदेश दिया अनुक्रमिक enums के लिए उपयोगी हो सकता है की अनुमति देता है, लेकिन मैं किसी भी मानक संदर्भ नहीं मिल रहा है, तो आप, कृपया, मुझे बात कर सकता है?
क्या आप इसका परीक्षण नहीं कर सकते हैं और देखें कि क्या होता है? – Matt
मेरा बिंदु मानक को जानना है, एक निश्चित संकलक व्यवहार नहीं। सबसे पहले, मैं यह सुनिश्चित करना चाहता हूं कि मेरा कोड मानक सी # (एमएस, मोनो,) के किसी भी कंपाइलर के लिए सही होगा। दूसरा, मैं अपने सी # परीक्षण के लिए बेहतर तैयार होने के लिए संबंधित मानक आलेख से कुछ उपयोगी पढ़ना चाहता हूं। –
gluk47