मैं सी # गणनाओं के बारे में सोच रहा था और डुप्लिकेट मानों के साथ क्या होता है।सी # गणना और डुप्लिकेट मूल्य - खतरे?
namespace ConsoleTest
{
enum TestEnum
{
FirstElement = -1,
SecondElement,
ThirdElement,
Duplicate = FirstElement
}
/// <summary>
/// Summary description for MainConsole.
/// </summary>
public class MainConsole
{
/// <summary>
/// Constructor for the class.
/// </summary>
public MainConsole()
{
//
// TODO: Add constructor logic here
//
}
/// <summary>
/// Entry point for the application.
/// </summary>
/// <param name="args">Arguments to the application</param>
public static void Main(string[] args)
{
TestEnum first = TestEnum.FirstElement;
TestEnum second = TestEnum.SecondElement;
TestEnum duplicate = TestEnum.Duplicate;
foreach (string str in Enum.GetNames(typeof(TestEnum)))
{
Console.WriteLine("Name is: " + str);
}
Console.WriteLine("first string is: " + first.ToString());
Console.WriteLine("value is: " + ((int)first).ToString());
Console.WriteLine("second string is: " + second.ToString());
Console.WriteLine("value is: " + ((int)second).ToString());
Console.WriteLine("duplicate string is: " + duplicate.ToString());
Console.WriteLine("value is: " + ((int)duplicate).ToString());
TestEnum fromStr = (TestEnum)Enum.Parse(typeof(TestEnum), "duplicate", true);
Console.WriteLine("fromstr string is: " + fromStr.ToString());
Console.WriteLine("value is: " + ((int)fromStr).ToString());
if (fromStr == TestEnum.Duplicate)
{
Console.WriteLine("Duplicate compares the same as FirstElement");
}
else
{
Console.WriteLine("Duplicate does NOT compare the same as FirstElement");
}
}
}
}
निम्नलिखित में से कौन उत्पादन का उत्पादन:
Name is: SecondElement
Name is: ThirdElement
Name is: FirstElement
Name is: Duplicate
first string is: FirstElement
value is: -1
second string is: SecondElement
value is: 0
duplicate string is: FirstElement
value is: -1
fromstr string is: FirstElement
value is: -1
Duplicate compares the same as FirstElement
Press any key to continue . . .
यह मैं क्या चाहते हो सकता है और के बाद से मैं कुछ का निर्माण कर रहा हूँ कि एक संस्करण की उम्मीद करने लगता है मैं चीजों को बाहर का परीक्षण करने के लिए निम्न छोटे कार्यक्रम बनाया टैग हर बार बढ़ेगा, इसलिए मुझे कुछ ऐसा चाहिए जो मैं वर्तमान संस्करण को "असाइन" कर सकता हूं, और इसकी तुलना भी कर सकता हूं।
यहां प्रश्न है हालांकि: इस दृष्टिकोण के नुकसान क्या हैं? क्या कोई है? क्या यह सिर्फ खराब शैली है (मैं thedailywtf पर खत्म नहीं करना चाहता)? क्या ऐसा कुछ करने का कोई बेहतर तरीका है? मैं .NET 2.0 पर हूं और 3.5 या 4.0 पर जाने का विकल्प नहीं है।
राय का स्वागत है।
मुझे लगता है कि enums स्ट्रिंग में परिवर्तित किया जा रहा है, मुझे लगता है कि एक स्ट्रिंग को एक emum में पार्स किया जा रहा है। आप क्या कर रहे हैं, आप सही तरीके से कर रहे हैं, लेकिन आपका लक्ष्य क्या है? –
@ रोब इलियट - इनमें से कुछ चीजें एक स्ट्रिंग-आधारित डेटास्टोर (मेरी पसंद नहीं) में जा रही हैं और पढ़ी जाएंगी, इसलिए मुझे यह सुनिश्चित करने की ज़रूरत है कि मैं जो अपेक्षा करता हूं उसे वापस ले जाऊंगा। –