C#中枚举的使用
来源:互联网 发布:ipad 电子相册软件 编辑:程序博客网 时间:2024/05/21 17:14
C#枚举的使用
枚举的使用。
首先来看枚举是什么?
枚举类型是一种的值类型,它用于声明一组命名的常数。
一.声明:
enum 枚举名
{
中间放入值.
}
如:
enum Student
{
小明,小红
}
那么此枚举中就为小红和小明
二.枚举中的赋值
在枚举中.
1:
系统会自动给枚举中的值赋予整数的值(如果不手动赋值,可以理解为下标)
比如我们想找到他的值,可以写代码如下:
int num = (int)test.小明;
Console.WriteLine(num);
那么此时得到的结果为:0.
同理如如果输入的为
int num = (int)test.小红;
那么得到的结果为:1.
2
如果手动给以赋值
enum Student
{
小明=10,小红
}
int num1 = (int)test.小明;
Console.WriteLine(num);
int num2 = (int)test.小红;
Console.WriteLine(num);
那么此时得到的结果为:num1=10,num2=11
而此时
enum Student
{
小明,小红=10
}
int num1 = (int)test.小明;
Console.WriteLine(num);
int num2 = (int)test.小红;
Console.WriteLine(num);
那么此时得到的结果为:num1=0,num2=10
可以看出后面的为自动增长
3:
在枚举中无法访问外面的东西(说专业点就是方法,属性)
比如:
是会报错的,当然这里放类是可以的
三:再看看enum的一下方法
enum的一些方法貌似都在Enum中(小编是一边学一边写的,有不对的地方请批评)
打开Enum后我们会发现好多方法
其实有好多方法。但大多都是重写的。
如CompareTo,Equals,Format,ToString,ToObject,Parse,GetHashCode相信大多数的方法大家都认识。
其实,HasFlag,IsDefined,GetValues,GetUnderlyingType,GetName,GetTypeCode,GetNames,大家可能有点陌生
小编留意的是GetName,GetNames,GetValues
可能会常用
(小编现在从网上就找不到对其更好的解释,我们老师也不会讲,现在小编学习很困难)
(1)首先来看GetName,方法定义为
public static string GetName(Type enumType, object value);
返回一个string类型的值
定义
string str = Enum.GetName(typeof(Student),0);
输出结果为:小明
其中有个typeof可以理解为,是通过他来找到这个enum(枚举)的
如果你在定义enum中
小明=10,小红
那么str将什么都不显示
(2)GetName,方法定义为
public static string[] GetNames(Type enumType);
返回一个string[]类型的值
定义为:
string[] str = Enum.GetNames(typeof(Student));
利用for循环输出的为:小明,小红
(3)GetValues,(小编发现不是多好用,可以不太会吧。。。)
方法定义为
public static Array GetValues(Type enumType);
返回一个Array类型的值
Array arr = Enum.GetValues(typeof(test));
也是通过for循环输出:
for (int i = 0; i < 2; i++){
Console.WriteLine(arr.GetValue(i));
}
发现结果是一样的.
第一次发博客.希望能对大家有帮助
阅读全文
0 0
- C#中 枚举的使用
- C# 中枚举的使用
- C#中枚举的使用
- C#中枚举类型的使用总结
- C#中枚举类型的使用
- C#中枚举类型的使用
- C#枚举的使用
- C# 枚举的使用
- C#中Enum枚举类型的简单使用
- C#中 枚举的应用
- C# FontStyle枚举的使用
- C#枚举的简单使用
- C# 枚举在项目中使用心得
- C# 枚举在项目中使用心得
- C++中枚举的使用
- java中枚举的使用
- iOS 中枚举的使用
- iOS中枚举的使用
- servletconfig对象+servletcontext对象
- java入门系列教程
- 朴素贝叶斯:从词向量计算概率
- 网络[通信] network判断
- X210开发板如何与主机windows、虚拟机ubuntu ping通?
- C#中枚举的使用
- 任务调度 定时任务时间设置
- postman进行http接口测试
- 爬虫技术(03)神箭手爬虫Configs详解
- JPA——实体关系映射
- Python实现获取指定日期的后一天
- JAVA源码分享:基于Apache POI,将List<T>内封装的实体类信息写出到磁盘Excel文件(20171018)
- input是否为空
- error C4996---解决方法