gpt4 book ai didi

c# - 将类型转换为我的自定义枚举

转载 作者:太空宇宙 更新时间:2023-11-03 20:07:40 24 4
gpt4 key购买 nike

我的模型有属性

public enum CheckStatus
{
A = 1,
B = 2,
C = 3,
}
public CheckStatus Status { get; set; }

在 razor view 里面我想像这样切换这个属性

@switch (Model.Status)
{
case 1:
default:
<div>Selected A</div>
break;
case 2:
<div>Selected B</div>
break;
case 3:
<div>Selected C</div>
break;
}

Cannot implicitly convert type 'int' to 'CheckStatus'. An explicit conversion exists (are you missing a cast?)

最佳答案

您的 switch 语句参数和 case Label 的数据类型必须相同。

所以像这样将你的枚举转换为 int

switch ((int)Model.Status)
{
case 2:
<div>Selected B</div>
break;
case 3:
<div>Selected C</div>
break;
default:
<div>Selected A</div>
break;
}

或者在你的 case 语句中使用 CheckStatus

switch (Model.Status)
{

case CheckStatus.B:
<div>Selected B</div>
break;
case CheckStatus.C:
<div>Selected C</div>
break;
default:
<div>Selected A</div>
break;
}

我删除了第一个案例,因为你在那个案例中没有做任何事情。还将 default 大小写放在末尾,使内容可读。您还可以使用 Case 1 并删除 default(如果需要)

关于c# - 将类型转换为我的自定义枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22014984/

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