Nullable<T>学习笔记
2009-12-11 16:43
197 查看
一会要陪远道来的朋友出去玩,先挤着时间说说Nullable<T>。
由于数据库中的数字可以为空,C#中的数字不能为空。所以导致了Nullable<T>的存在。
(1)下面简单说说Nullable<T>的使用
Nullable<T>用Nullable<int>实例化,习惯上简写成int?,例如
可以通过如下方式获得x的值
(2)int?与int的转换
从非可空类型转换为可空类型时,在不需要强制类型转换的地方可以进行隐式转换。
如果y1是空值时,把null值赋予非空类型,就会抛出InvalidOperationException类型的异常。
实际上编译时就会报错,这里就需要做强制转换:
或者使用接合运算符??,示例如下:
由于数据库中的数字可以为空,C#中的数字不能为空。所以导致了Nullable<T>的存在。
(1)下面简单说说Nullable<T>的使用
Nullable<T>用Nullable<int>实例化,习惯上简写成int?,例如
Nullable<int> x;//即 int? x;
可以通过如下方式获得x的值
Nullable<int> x; x = 4; if (x.HasValue) { int y = x.Value; } x = null;
(2)int?与int的转换
int y1 = 4; int? y2 = y1;
从非可空类型转换为可空类型时,在不需要强制类型转换的地方可以进行隐式转换。
如果y1是空值时,把null值赋予非空类型,就会抛出InvalidOperationException类型的异常。
实际上编译时就会报错,这里就需要做强制转换:
int? y1 = 4; int y2 = (int)y1;
或者使用接合运算符??,示例如下:
int? y2; int y1 = y2 ?? 0;
相关文章推荐
- Java学习笔记(八):Map<stirng,string>的遍历的四种方法
- RT-Thread 学习笔记(十二)--- 开启基于RTGUI的LCD显示功能(2)<编译测试>
- win32汇编 屏幕截图保存BMP 学习笔记<第二篇>之东拼西凑
- HTML 学习笔记(一)<h1>、<hr />、<p>、<ol><li>、<ul><li>、<dl><dt><dd>、 、<a name="abc">、href="#abc"、mailto
- PROCESS_YIELD()宏和C语言的switch语句< contiki学习笔记之七>
- LDAP学习笔记<一>关于LDAP协议及其基本概念
- C++学习笔记之对文件的操作<2>
- ubuntu学习笔记<二>
- Netty学习笔记<1>--UNIX的5种I/O模型
- 学习笔记——JAVA设计模式<18>策略模式
- java 从零开始,学习笔记之基础入门<javascript>(三十)
- 黑马程序员 .NET学习笔记 <10>
- <C++学习笔记>函数模板 template
- 【Java编程】Java学习笔记<一>
- <<SQL Server 2005 高级程序设计>> 学习笔记(4)
- <<Python基础教程>>学习笔记 | 第10章 | 充电时刻
- <深入 Python 3 >学习笔记
- Spark学习笔记-Streaming-1<转>
- Unity官方_第一人称游戏<恶魔射手>----学习笔记一(英雄脚本)
- javascript特效<一>--学习笔记