发文章
发文工具
撰写
网文摘手
文档
视频
思维导图
随笔
相册
原创同步助手
其他工具
图片转文字
文件清理
AI助手
留言交流
int a = null; // 非法
但是,利用 C# 定义的一个修饰符,可将一个变量声明为一个可空(nullable)值类型。可空值类型在行为上与普通值类型相似,但可以将一个 null 值赋给它。如下所示:
int? a = null; // 合法
当把一个变量定义为可空值类型时,该变量依然可以被赋值为 0,代码如下所示:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace keleyi.com { class Program { static void Main(string[] args) { int? a = null; Console.WriteLine("a = {0}", a); a = 0; Console.WriteLine("a = {0}", a); } } }
可空类型有如下属性:
using System;using System.Collections.Generic;using System.Linq;using System.Text;
namespace ConsoleApplication1{class Program{static void Main(string[] args){int? i = null;if (!i.HasValue) // 若 i 包含一个真正的值,则 i.HasValue 为true{i = 99;}Console.WriteLine(i.Value); // i 的值}}}
// i.HasValue 比 i != null 走了不少冤枉路,i.Value 也比 i 更麻烦// 但是当使用更加复杂的值类型(struct)来声明可空类型时, .HasValue 和 .Value 就有了优势
来自: 昵称10504424 > 《工作》
0条评论
发表
请遵守用户 评论公约
C# 中的 ??符号的意义
因为太常用,C#特意给了一个语法快捷int? nullAbleInt;简单的例子:int? nVal1 = new int?(); int? nVal2 = null;int? nVal3 = 3;Console.WriteLine(nVal1); // 输出nullConsole.WriteLine(nVal2); // ...
int?
Nullable 结构支持将值类型扩展为可以为null,但不支持在引用类型上使用,因为引用类型本身就是可空的。可空类型表示可被赋值为 null 值的值类型变量。如果基础类型的值为 null,请使用 System.Nullabl...
V5.1枚举
Console.WriteLine("1.枚举输出");WriteLine(myWeekDay);WriteLine("2.类型转换");WriteLine("1.(int)实现将枚举转换为整形");WriteLine((int)myWeekDay);WriteLine((We...
C#之score
C#之scoreusing System;using System.Collections.Generic;using System.Linq;using System.Text;namespace score{
5-12undefined跳转语句之goto语句
排序及查找----[(冒泡,快速)(拉格朗日,二分)]
C#构造函数、属性的应用
Hello World
Hello World今天开始学习C#,第一个程序——Hello World!Console(控制台)类型位于此命名空间中using System.Collections.Generic;using System.Linq;using System.Text;class Hello { static...
c#之——用Convert类实现数据类型转换
Convert.使用Convert类转换数据类型。//Convert类的方法进行转换 integer=Convert.ToInt32(num1); str=Convert.ToString(num1); strdate=Convert.ToString(mydate); num2=Convert.ToIn...
微信扫码,在手机上查看选中内容