gpt4 book ai didi

c# - 将枚举设置为其默认值

转载 作者:太空狗 更新时间:2023-10-29 20:25:43 26 4
gpt4 key购买 nike

我敢肯定这很微不足道,但我做不对。

public static string DoSomething(this Enum value)
{
if (!Enum.IsDefined(value.GetType(), value))
{
// not a valid value, assume default value
value = default(value.GetType());
}

// ... do some other stuff
}

value = default(value.GetType()); 行无法编译,但希望您能看到我正在尝试的内容。我需要将 Enum 参数设置为其自身类型的默认值。

最佳答案

我不太确定你在这里想做什么,但是编译的“默认”行的一个版本是这样的:

 value = (Enum)Enum.GetValues(value.GetType()).GetValue(0);

或者,甚至更干净(来自 Paw,在评论中,谢谢):

 value = (Enum) Enum.ToObject(value.GetType(), 0);

只有当您知道枚举的第一个元素的值为零时,第二个版本才能正常工作。

关于c# - 将枚举设置为其默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4096431/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com