C# 声明变量加?问号,DateTime D与DateTime? D区别
C# 声明变量加?问号,DateTime D与DateTime? D区别
这是新的语法,表示可空值类型。
可空类型?与可空类型默认值 C# Code:
using System; using System.Collections.Generic; using System.Text; namespace { class Program { static void Main(string[] args) { int? variablea = null; Console.WriteLine(variablea.HasValue); //下面此条语句错误,可为空的对象必须有一个值 // Console.WriteLine(variablea.Value); int? a = 1; Console.WriteLine(a.HasValue); int variableb = variablea ?? 5; Console.WriteLine(variableb); //下面此条语句错误,可为空的对象必须有一个值 //Console.WriteLine(variablea.Value); Console.WriteLine(variablea.HasValue); variablea = 6; Console.WriteLine(variablea); Console.WriteLine(variablea.Value); Console.WriteLine(variablea.HasValue); //以下错误,无法将类型“int?”隐式转换为“int”。存在一个显式转换(是否缺少强制转换?) E:\VisualC#2005技术内幕\1-2单元\P29 可空类型\可空类型\Program.cs 34 20 可空类型 //int b = variablea; //必须用?? int b = variablea ?? 6; Console.WriteLine(b); Console.ReadLine(); } } }
参考文档:
[转帖]C# const和static readonly有什么区别? C#.NET反射枚举窗体字段成员变量 C#.Net String类型Null与String.Empty有什么区别? C#.Net 关键字ref和out的区别 C# 关键字const和static readonly 区别 C#语法中两个问号(??)的运算符是什么意思? C#.Net前台线程与后台线程的区别 C#.Net值类型和引用类型区别 C#.NET DateTime时间格式转换为Unix时间戳格式(int类型) C# Datetime转Utc时间戳Timestamp 福佑卡车开放平台 C#+WebApi SDK开发包 C#日期类型转换工具(时间戳,字符串,long,byte类型互转) C# 泛型日期(DateTime?)扩展方法 DateTimeExtension C#.NET给DataTable日期类型的列赋值报错:所需类型是 MySqlDateTime,值类型与列类型不匹配 C#.NET 查询MYSQL报错:值类型与列类型不匹配不能在列中存储<0001-01-01 00:00:00>。所需类型是MySqlDateTime
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |