using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;/*  可空数据类型*  C#中值类型(int, Guid, bool等)是不可以为空的,int i=null是错误的,因此int, bool等这些类型不能表示数据库中的"Null"*  因此C#提供了"可空类型"这种语法,只要在类型后加?就构成了可空的数据库类型,比如int?, bool?,这样int? i = null就可以了,解决数据库中int可以为null,而C#中int不能为null的问题*  * 判断可空类型是否为空,i==null或者i.HasValue; 得到可空变量的值,int i1 = (int)i.Value或者int i i1 = i.value;* * 类型转换: 不可空类型赋值给可空类型无需要显示转换(一定成功),可空类型赋值给不可空类型则需要显示转换(不一定成功)* * * * * * */
namespace _19可空数据类型
{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){string s1 = null;//int i1 = null;int? i2 = 0;int? i3 = 3; //int?->可空的int,解决数据库和C#对于int是否可以为null的不同所设置的if (i3 == null){MessageBox.Show("i3为空");}else {i3++;int i4 = (int)i3; //这里对可为空的i3进行数据类型转换MessageBox.Show("i3不为空,i3++="+i3);}//第二种判断是否为空的值if (i3.HasValue){int i4 = i3.Value;MessageBox.Show("i3不为空,值为" + i4);}else {MessageBox.Show("i3为空");}int i6 = 10; //定义一个int数据类型int? i5 = i6;  //可以给赋值给一个可空的int数据类型//但可空的int型,不能赋值给一个可空的int类,这只能做数据类型转换,}private void button2_Click(object sender, EventArgs e){//这里直接用一个强类型的DataSet/*T_UserRow u = new T_UserRow();u.Id = 1;u.name = "xxdxxd";u.password = "xxdxxd";u.errortimes = 1;*/}}
}

  

第五节 19可空数据类型相关推荐

  1. 【Python基础知识-pycharm版】第五节-字典\集合

    第五节-字典\集合\控制语句 字典 字典的创建 字典元素的访问 字典元素添加.修改.删除 序列解包 表格数据使用字典和列表存储,并实现访问 字典核心底层原理(重要) 集合 集合相关操作 字典 字典是& ...

  2. 初等数学O 集合论基础 第五节 群、环、域的概念

    初等数学O 集合论基础 第五节 群.环.域的概念 在第四讲中,我们在一般集合上定义了运算,这一讲的目标是为这些运算建立运算法则,一些具有特定运算与运算法则的集合具有良好的性质,值得我们专门对它命名,并 ...

  3. 第五节 按键的三种用法

    1.按键介绍 这也许是第一个接触的单片机输入设备了,而且这玩意能玩很久,基本上有啥没啥都能加一个上去,执行某些你想达到的功能. 这里的独立按键也叫"轻触式按键",这是我们平日里面见 ...

  4. Simulink仿真 第五节 复用器和分路器

    第五节 复用器和分路器 1.复用器(将多个输入信号合并为矢量) Mux 模块可将其输入合并为单个矢量输出.输入可以是标量或矢量信号.所有输入都必须具有相同的数据类型和数值类型.矢量输出信号元素采用输入 ...

  5. Python编程基础:第三十五节 文件删除Delete a File

    第三十五节 文件删除Delete a File 前言 实践 前言 我们这一节来介绍如何删除一个文件,这里需要用到函数os.remove(path)用于删除指定路径下的文件,os.rmdir(path) ...

  6. Python编程基础:第五节 用户输入User Input

    第五节 用户输入User Input 前言 实践 前言 为了方便于程序与用户进行交互,我们通常需要获取用户的键盘输入,这里我们就需要用到input()函数.需要注意的是,函数的返回结果均为字符串,如果 ...

  7. Kotlin学习笔记 第二章 类与对象 第五节 可见性 第六节 扩展

    参考链接 Kotlin官方文档 https://kotlinlang.org/docs/home.html 中文网站 https://www.kotlincn.net/docs/reference/p ...

  8. 五节课从零起步(无需数学和Python基础)编码实现AI人工智能框架电子书V1

    五节课从零起步  (无需数学和Python 基础)  编码实现AI 人工智能框架          王  家  林        2018/4/15                          ...

  9. 第七章:小朱笔记hadoop之源码分析-hdfs分析 第五节:Datanode 分析

    第七章:小朱笔记hadoop之源码分析-hdfs分析 第五节:Datanode 分析 5.1 Datanode 启动过程分析 5.2 Datanode 心跳分析 5.3 Datanode 注册分析 5 ...

最新文章

  1. jQuery UI Autocomplete示例(一)
  2. 临河天气预报软件测试,临河天气预报15天
  3. 宽带651以及光猫红色灯闪烁-故障维修
  4. 【Kafka】【未解决】kafka反序列化数据报错jackson2 JsonParseException: Invalid UTF-8 middle byte 0xc0
  5. litepal创建数据库表失败
  6. PHP的面向对象模型(转贴)
  7. 3D滚动控件实现抽奖效果
  8. rHadoop分布式安装与配置
  9. 路由备份和路由聚合综合实验
  10. 武汉大学测绘学院工测带缓和曲线的圆曲线
  11. 如何做专利挖掘,关键是寻找专利点,其实并不太难
  12. MQX4.0:MK60DZ10.h头文件GPIO模块…
  13. python绘画海贼王_Python爬虫之爬取海贼王全彩漫画图片
  14. 华为无线认证服务器类型,华为ap 配置认证服务器
  15. UnicodeEncodeError: 'gbk' codec can't encode character '\xa9' in position 314810: illegal multibyte
  16. C语言:输入一个整数 求它是几位数
  17. 「题解」关于sizeof陷阱,无符号整形,变种水仙花数
  18. 基于802.1q技术实现单线复用的一种思路
  19. linux平台的字典,Linux系统中安装CLI的字典sdcv
  20. 如何用友远程到服务器,用友远程通安装常用的管理配置

热门文章

  1. 完成U-net细胞分割的一些准备
  2. 全球及中国衣柜香氛市场投资份额与营销潜力研究报告2022版
  3. 精解C++的switch语句
  4. Java+Selenium Web UI自动化测试的一些总结
  5. sharepoint 场帐号修改密码
  6. AFN中请求序列化的设置
  7. 安装Ruby、Sass在WebStrom添加Watcher实现编辑scss文件时自动生成.map和压缩后的.css文件...
  8. WebService它CXF注释错误(两)
  9. vs2012使用64位IIS EXPRESS调试
  10. 社交类产品设计的9个点,整不好会挨怼~