C#可空类型
2022/3/8 17:15:00
本文主要是介绍C#可空类型,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
可空类型的来由
举个例子 在电子商务的程序中,如果有一个订单已经下单了,但是还没发货和收获,在描述订单的发货时间和收获时间该怎么表示?在C#中值类型是不能为null的,但是在数据库的设计的时候是允许数据库字段设置为null,这样程序就会和数据库的设计存在冲突。为了解决这一问题C# 2.0 中还引入了可空类型,可空类型也是值类型,只是可空类型是包括null的值类型。
可空类型的核心部分是System.Nullable<T>。Nullable<T>是个泛型类型,参数T有个值类型的约束。两个重要的属性 HasValue和Value,HasValue指出是否含有一个真正的值,Value表示这个值。
Nullable<T>的装箱和拆箱
Nullable<T>是值类型,将它转化成引用类型的时候就要装箱。如果没有值装箱为空引用,有值则装箱为成T的已装箱的值。
可空类型提供的语法糖
?修饰符
//它俩表示的同一个意思,int?编译后便是System.Nullable的形式 int? i = null; Nullable<int> t = null;
?? 修饰符
int? a = null; // 下面代码等价于: x=a.HasValue?a.Value:12; int x = a ?? 12;
这篇关于C#可空类型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-12-06使用Microsoft.Extensions.AI在.NET中生成嵌入向量
- 2024-11-18微软研究:RAG系统的四个层次提升理解与回答能力
- 2024-11-15C#中怎么从PEM格式的证书中提取公钥?-icode9专业技术文章分享
- 2024-11-14云架构设计——如何用diagrams.net绘制专业的AWS架构图?
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#