Let's say I have this class:
public class SiteMapEntry
{
public static enum ChangeFrequency
{
Always,
Hourly,
Daily,
Weekly,
Monthly,
Yearly,
Never
}
}
And this function:
public class FooBar(SiteMapEntry.ChangeFrequency changeFreq)
{
}
Which is called:
string foobarNever = FooBar(SiteMapEntry.ChangeFrequency.Never);
What do I need to do in the method FooBar
to have the string foobarNever == "never"
?
changeFreq.ToString()将为您提供枚举值的字符串表示形式。
string foobarNever = "never" :)
Alternatively, why aren't you just doing:
if(FooBar(SiteMapEntry.ChangeFrequency.Never) == SiteMapEntry.ChangeFrequency.Never)
{}
There are multiple ways of interacting with enums. For best practice, always compare an enum with the defined type:
if(changeFreq == ChangeFrequency.Never)
not
if(changeFreq.ToString() == "Never")
as it is more descriptive. If you need to convert a string value to the enum type, then use
try
{
convertedValue = (ChangeFrequency)Enum.Parse(typeof(ChangeFrequency), stringValue);
}
catch
{
convertedValue = ChangeFrequency.Always; // Whatever default you want
}
Replace Your_ENUM_List
in the code example with your ENUM and run this code.
string Result = "";
Type Enum_Name= typeof( Your_ENUM_List );
int Enum_Number = 0;
Result = Enum.ToObject(Enum_Name, Enum_Number).ToString();
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.