相关疑难解决方法(0)

从C#中的枚举中获取int值

我有一个叫Questions(复数)的类.在这个类中有一个名为Question(单数)的枚举,看起来像这样.

public enum Question
{
    Role = 2,
    ProjectFunding = 3,
    TotalEmployee = 4,
    NumberOfServers = 5,
    TopBusinessConcern = 6
}
Run Code Online (Sandbox Code Playgroud)

Questions类中,我有一个get(int foo)函数返回一个Questions对象foo.有没有一种简单的方法从枚举中获取整数值,所以我可以做类似的事情Questions.Get(Question.Role)

c# int enums casting

1698
推荐指数
23
解决办法
142万
查看次数

如何从Enum获取数值?

例如System.Net.HttpStatusCode Enum,我想获取HTTP状态代码而不是HTTP状态文本. System.Net.HttpStatusCode.Forbidden应该返回403而不是"禁止".

我该如何提取价值?

.net c# reflection enums properties

55
推荐指数
4
解决办法
4万
查看次数

如何在没有装箱的情况下检索枚举的哈希码?

如果有一个枚举存储在聚合类型中,则可能希望将其包含在类型的哈希代码中(假设典型的" 乘以素数 "哈希函数).如果只是调用SomeEnum.GetHashCode(),看起来即使在发布版本中,JIT也会对实例进行打包.

对此进行分析显示我的应用程序花费了大约10%的时间在各种GetHashCode函数中使用了拳击枚举.

几种值类型实现IEquatable或类似的接口,允许GetHashCode作为静态方法调用; 这避免了拳击.但是System.Enum不提供静态过载GetHashCode.有没有一些方法来计算应该使用的代码但是避免装箱?

c# clr hash hashtable

9
推荐指数
1
解决办法
1661
查看次数

标签 统计

c# ×3

enums ×2

.net ×1

casting ×1

clr ×1

hash ×1

hashtable ×1

int ×1

properties ×1

reflection ×1