C#中的可空类型和枚举类型
qingheluo2021-08-31清河洛805
C#中的可空类型C#提供了一个特殊的数据类型:nullable类型(可空类型)可空类型可以表示其基础值类型正常范围内的值,再加上一个null值在处理数据库和其他包含可能未赋值的元素的数据类型时,将null赋值给数值类型或布尔型的功能特别有用声明一个nullable类型(可空类型):? [= value];
data_type表示数据类型,后面紧跟着一个问号
variable_name表示变量名
nullable类型的默认值为null
如 int? a
表示a的值为-2147483648到2147483647,也可以被赋值为null值
且此时变量a的默认值由0变为了null
Null合...
C#中的可空类型
C#提供了一个特殊的数据类型:nullable类型(可空类型)
可空类型可以表示其基础值类型正常范围内的值,再加上一个null值
在处理数据库和其他包含可能未赋值的元素的数据类型时,将null赋值给数值类型或布尔型的功能特别有用
声明一个nullable类型(可空类型):
? [= value]; data_type表示数据类型,后面紧跟着一个问号 variable_name表示变量名 nullable类型的默认值为null 如 int? a 表示a的值为-2147483648到2147483647,也可以被赋值为null值 且此时变量a的默认值由0变为了null
Null合并运算符(??)
合并运算符把操作数类型隐式转换为另一个可空(或不可空)的值类型的操作数的类型。
如果第一个操作数的值为 null,则运算符返回第二个操作数的值,否则返回第一个操作数的值
double? num1 = null; double? num2 = 3.1415; double num3,num4; num3 = num1 ?? 0.00; num4 = num2 ?? 0.00; //num3的值为0.00,num4的值为3.1415 Null合并运算符(??)作用是判断??左边的对象是否为null,如果不为null则使用??左边的对象,如果为 null则使用??右边的对象 可以理解为三元运算符的简化形式: num3 = num1 ?? 0.00; num3 = (num1 == null) ? 0.00 : num1;
C#中的枚举类型
枚举类型是具有一组命名常量的独特的值类型,使用enum关键字声明
enum enum_name: { enumeration list } Access Specifier:表示访问修饰符 enum_name :表示枚举的类型名称 Data Type :必须为一个整数类型,表示枚举成员的赋值范围
枚举类型一般用于列出唯一的元素,每个枚举的成员对应一个整形数据,且后面的成员对应的整形数据必定大于前面的成员对应的整形数据
enum Myenum:uint { one=5,two,three=9,four,five,six,seven } 上面代码定义了一个Myenum的枚举类型,该成员中第一个成员对应的整形数据手工指定为5(不指定默认从0开始),第二个成员未指定则会在前一个成员的基础上加1,也就是6,后面以此类推
枚举类型的使用
可以通过赋值给变量 enum_name = enum_name.enum_member Myenum fivty = Myenum.five; 也可以直接使用enum_name.enum_member访问成员
访问到枚举的成员后返回的是一个枚举成员类型,可以直接打印成字符串,也可以通过(int)操作符转变为对应的整形数据
Console.WriteLine(Myenum.four); //输出:four Console.WriteLine((int)Myenum.four); //输出:10