尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

c#中,enum类型必须是整数类型

c#中,enum类型必须是整数类型
📅 发布时间:2026/6/19 4:52:42

一、支持的整数基础类型

enum Color : byte      // 显式指定byte类型(0-255)
{Red,Green,Blue
}enum HttpStatus : short  // short类型
{OK = 200,NotFound = 404
}// 默认是int类型
enum Status { Pending, Active }  // 相当于 : int
 
允许的底层类型:
  • byte, sbyte
  • short, ushort
  • int, uint(默认)
  • long, ulong

二、限制:不能是非整数

// ❌ 编译错误!这些都不允许:
enum Color 
{Red = "ff0000",      // 错误:不能是字符串Blue = 3.14,         // 错误:不能是浮点数Green = new object() // 错误:不能是对象
}
 
编译器报错:enum underlying type must be an integral type

三、常见误解澄清

1. 字符串怎么办?用 Description 特性

using System.ComponentModel;enum UserStatus
{[Description("用户活跃")]Active,[Description("账户已禁用")]Disabled
}// 读取字符串值
static string GetDescription(Enum value) { /* 反射读取Description */ }
 

2. 需要多个值?用 Flags 位标志

[Flags]
enum Permissions
{Read = 1 << 0,   // 1Write = 1 << 1,  // 2Delete = 1 << 2  // 4
}var perms = Permissions.Read | Permissions.Write;  // 值为3
 

3. 复杂数据?用扩展方法或字典

enum ApiError
{NetworkTimeout,InvalidToken
}static class ApiErrorExtensions
{public static string Message(this ApiError error) => error switch{ApiError.NetworkTimeout => "网络超时",ApiError.InvalidToken => "令牌无效",_ => "未知错误"};
}
 

四、总结表


能否支持示例说明
✅ 整数类型 byte, int, long 必须是8种整数类型之一
✅ 整数表达式 Red = 1 + 2 编译时常量整数表达式
❌ 字符串 "red" 直接赋值不允许,用Description特性
❌ 浮点数 3.14f 根本不支持
❌ 对象/类 new MyClass() 根本不支持

相关新闻

  • 2025年比较好的平板车杭州环保装修
  • 印度股票市场数据API接口
  • 2025年靠谱的数字程控交换机厂家选购指南与推荐

最新新闻

  • 终极指南:Elasticvue - 5分钟掌握Elasticsearch可视化管理
  • 想快速周转资金?沈阳黄金回收上门交易完整流程详解 - 奢侈品回收评测
  • 深入解析sklearn中PCA的实战应用:从参数调优到结果解读
  • Python跨境数据采集实战:解决地域限制与IP封禁问题(商用稳定方案)
  • DeepSeek V4实测解析:长上下文、工具调用与中文因果推理三大突破
  • 【GD32F427开发板试用】+ 从GPIO到USB:GD32F427V-START例程实战解析

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号