मैं कुछ समय के लिए विंडोज मोबाइल और एंड्रॉइड के लिए विकास कर रहा हूं। और मैं इन दो अवधारणाओं के बारे में उलझन में हूं।एनम वीएस स्टेटिक क्लास (सामान्य और स्ट्रिंग मानों के साथ)
मान लें कि मैं उपयोगकर्ता के डिवाइस स्क्रीन आकार के आधार पर निर्णय लेना चाहता हूं। तो मैं इतनी पूर्वनिर्धारित मानों की अपेक्षा करूंगा। मैं अपने तर्क को संभालने के लिए एक स्विच स्टेटमेंट का उपयोग कर सकता था। लेकिन मुझे यकीन नहीं है कि मुझे इस उद्देश्य के लिए एक स्टेटिक क्लास का उपयोग करना चाहिए या नहीं। कौन सा एक बेहतर दृष्टिकोण है। मैं इन दो अलग-अलग तरीकों से अपना तर्क कर सकता हूं। सही दृष्टिकोण कौन सा है? मैं उलझन में हूं। और क्या मेरे लिए स्ट्रिंग मानों का भी उपयोग करना संभव है? क्योंकि वर्तमान में मैं कक्षाओं के साथ चिपक रहा हूं, मुझे सभी enums का उपयोग करने के लिए अद्यतन करने की आवश्यकता है। तो मेरी कक्षा को स्ट्रिंग एनम में बदलने के बारे में कैसे? किसी भी तरह से। धन्यवाद।
Enum
//My predefined values
public enum ScreenSizeEnum
{
Small, Medium, Large, XLarge,
}
//Handling Logic
private void SetScreenSize(ScreenSizeEnum Screen)
{
switch (Screen)
{
case ScreenSizeEnum.Large:
//Do Logic
break;
case ScreenSizeEnum.Small:
//Do Logic
break;
}
}
का प्रयोग कक्षा
//My predefined values
public class ScreenSizeClass
{
public const int Small = 0;
public const int Medium = 1;
public const int Large = 2;
public const int XLarge = 3;
}
//Handling Logic
private void SetScreenSize(int Screen)
{
switch (Screen)
{
case ScreenSizeClass.Large:
//Do Logic
break;
case ScreenSizeClass.Small:
//Do Logic
break;
}
}
enums के साथ डिबगिंग अनुभव बहुत बेहतर है (कम से कम सी # में)। एक 'int' कोड पर स्विच करने वाले सौ मामलों के साथ स्विच डिबग करने का प्रयास करें। –
इस प्रश्न पर एक 'जावा' टैग है। आपके 'enum' के लिए दिखाए गए उदाहरण कोड जावा के साथ काम नहीं करेंगे। जावा में एनम्स 'स्विच' का उपयोग करते समय सी # के साथ काम नहीं करते हैं। – Squonk
हाँ। मुझे पता है कि। मैं अपने एंड्रॉइड एप्लिकेशन में भी वही प्रवाह कर रहा हूं। मैंने सोचा कि अगर मैं जावा कोड भी डालूं तो यह बहुत लंबा हो सकता है। लेकिन मुझे उम्मीद है कि अवधारणा वही है। –