gpt4 book ai didi

c# - Convert.ToInt32() 和 int() 之间有什么区别

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

请检查以下代码,告诉我 Convert.ToInt32()int() 之间的区别,为什么显示 Convert.ToInt32错误?

这里 UserType 是一个枚举

// Showing error constant initializer must be compile time constant
const int case1 = Convert.ToInt32(UserType.Admin);

const int case2 = int(UserType.Admin);

最佳答案

您正在将方法的返回值分配给常量,这是不允许的。在 .Net 中,常量的 需要在编译时已知。如果在运行时从方法调用中为其分配一个值,则这是不可能的。

对于一般情况,您可以稍微改变一下并获得逻辑上等效的代码:

static readonly int Case1 = Convert.ToInt32(UserType.Admin);

但是,枚举允许简单地转换为 int,因此您的第二个示例可能是好的(尽管不是惯用的)。

关于c# - Convert.ToInt32() 和 int() 之间有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11244493/

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