-
C#教程之C# 可空值类型
本站最新发布 C#从入门到精通
试听地址 https://www.xin3721.com/eschool/CSharpxin3721/
试听地址 https://www.xin3721.com/eschool/CSharpxin3721/
复制代码
using System;
/***********************************************************************************
* 创建人:
* 创建时间:
* 功能描述:
* =====================================================================
* 修改人:
* 修改时间:
* 功能描述:
************************************************************************************/
namespace ConsoleApp1
{
internal class Program
{
private static void Main(string[] args)
{
//可空值类型
double? pi = null;
char? letter = 'a';
//判空
if (letter.HasValue)
{
Console.WriteLine(letter.Value);
}
if (pi.HasValue)
{
Console.WriteLine(pi.Value);
}
//如果空,给一个值
double pi1 = pi ?? 3.14;
//空参与运算
int? a = 10;
int? b = null;
a = a + b;
if (a == null)
{
Console.WriteLine("a为空");
Console.WriteLine(a>10);// false
}
//判断类型是否为可空类型
Console.WriteLine($"int? is {(IsNullable(typeof(int?)) ? "nullable" : "non nullable")} value type");
Console.WriteLine($"int is {(IsNullable(typeof(int)) ? "nullable" : "non-nullable")} value type");
//如果type不可为空,则GetUnderlyingType方法返回空
bool IsNullable(Type type) => Nullable.GetUnderlyingType(type) != null;
}
}
}
复制代码
判断可空类型要谨慎,切勿使用GetType方法和is关键字。而应使用typeof和Nullable.GetUnderlyingType方法。如果空值类型参与运算,可能得出null,也可能是其他固定的值例如false、ture。
https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/builtin-types/nullable-value-types#code-try-7
量变会引起质变。
栏目列表
最新更新
Python 中如何实现参数化测试?
Appium移动端测试--基础预热
自定义404页面
python redis模块详解
python爬虫--图片懒加载
Python抓取豆瓣电影top250!
Tornado—添加请求头允许跨域请求访问
pycharm设置开发模板/字体大小/背景颜色(
python爬虫公众号所有信息,并批量下载公
docker系列之一:初见docker
.Net Standard(.Net Core)实现获取配置信息
Linux PXE + Kickstart 自动装机
Shell 编程 基础
Shell 编程 条件语句
CentOS8-网卡配置及详解
Linux中LVM逻辑卷管理
1.数码相框-相框框架分析(1)
Ubuntu armhf 版本国内源
Linux中raid磁盘阵列
搭建简易网站
mysql 安装了最新版本8.x版本后的报错:
Mysql空间数据&空间索引(spatial)
如何远程连接SQL Server数据库的图文教程
复制SqlServer数据库的方法
搜索sql语句
sql中返回参数的值
sql中生成查询的模糊匹配字符串
数据定义功能
数据操作功能
将Session值储存于SQL Server中