C# 3.0 { get; set; } 默认值
.NET Framework 3.5 使用的是 C# 3.0,C# 3.0 有一些新的语言特性,其中有一项就是快捷属性。
之前的写法:
public int Id
{
get
{
return _id;
}
set
{
_id = value;
}
}
在 C# 3.0 中可以简写为这样:
C# 3.0 { get; set; } 默认值
这就不得不说 { get; set; } 的默认值了,因为不存在了私有自段,我们无法人工指定默认值了,那么系统的默认值是什么呢?
- 对于 int 类型,默认值是 0;
- 对于 int? 类型,默认值是 null;
- 对于 bool 类型,默认值是 false;
- 对于 bool? 类型,默认值是 null;
- 对于 string 类型,默认值是 null;
- 对于 string? 类型,哈哈,没有这种写法,会出错;
- 对于 DateTime 类型,默认值是 0001-01-01 00:00:00;
- 对于 DateTime? 类型,默认值是 null;
- 对于 enum 类型,默认值是值为 0 的项,如果不存在 0 的 enum 项,它仍然是 0,相关内容可参见:C# 枚举(enum);
- 对于 enum? 类型,默认值是 null;
- 对于 class 类型,默认值是未实例化的对象引用;
- 对于 class? 类型,哈哈,没有这种写法,会出错。
关于类型加 ?,表示这种类型的值可为 null,比如 int 本来没有 null 值,加上 int? 就可以为 null 了。
C# 3.0 { get; set; } 默认值的更多相关文章
- c# 基本值类型及其默认值
//值类型 C# 类型 .NET Framework 类型 bool System.Boolean 4Byte 32bit布尔型变量 逻辑值,true或者false,默 ...
- jsp页面向后台传递 不赋值 传递的默认值
<input type="hidden" name="leaderIdentity" value="${subject.leaderId }&q ...
- Celery-4.1 用户指南: Configuration and defaults (配置和默认值)
这篇文档描述了可用的配置选项. 如果你使用默认的加载器,你必须创建 celeryconfig.py 模块并且保证它在python路径中. 配置文件示例 以下是配置示例,你可以从这个开始.它包括运行一个 ...
- golang的数据类型之基本数据类型的默认值和转换
默认值: 整型的默认值:0 浮点型的默认值:0字符串的默认值:"" //空布尔类型的默认值:false package mainimport "fmt" f ...
- 函数的默认值与动态参数arguments的总结
在js函数与作用域,了解函数基本概念中,我们发现当函数的实参有一个没有上传的时候,对应的形参time展示的值就是undefined,如下代码所示: <!DOCTYPE html> < ...
- Language Guide (proto3) | proto3 语言指南(三)默认值
默认值 解析消息时,如果编码的消息不包含特定的单数元素,则解析对象中的相应字段将设置为该字段的默认值.这些默认值是特定于类型的: string:默认值为空字符串 bytes:默认值为空字节 boole ...
- MySQL5.0+提示字段没有默认值(doesn’t have a default value)的解决方法
方法一: 打开my.ini,查找 sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION” 修改为 sql ...
- C#实现函数默认值和C#4.0实现默认值
static void Main(string[] args) { SayHello(); SayHello("侯志强"); Console.ReadKey(); } C#.0实现 ...
- 转载:as3.0下对象类型返回值与变量默认值的详细说明
转自:http://www.cuplayer.com/player/PlayerCodeAs/2012/0905367.html Null.NaN.undefined 及各自应用对象:变量的默认值: ...
随机推荐
- POJ1988 并查集的使用
Cube Stacking Time Limit: 2000MS Memory Limit: 30000K Total Submissions: 21157 Accepted: 7395 Ca ...
- UILocalNotification
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launc ...
- ZOJ问题(坑死了)
ZOJ问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- 关于Node.js, Jade一点小小的介绍。
本文出自:http://blog.csdn.net/svitter node.js大家知道的可能比較多,可是jade大家可能就不知道了.. GFW封杀掉google以后.今天在百度上找了好久也没有找到 ...
- RequireJs运行原理
在require中,根据AMD(Asynchronous Module Definition)的思想,即异步模块加载机制,其思想就是把代码分为一个一个的模块来分块加载,这样无疑可以提高代码的重用. 在 ...
- WeixinJSBridge:微信浏览器内置JavaScript 对象
微信公众平台开始支持前端网页,大家可能看到很多网页上都有分享到朋友圈,关注微信等按钮,点击它们都会弹出一个窗口让你分享和关注,这个是怎么实现的呢?今天就给大家讲解下如何在微信公众平台前端网页上添加分享 ...
- CSS-边框-效果
1.1边框 其中边框圆角.边框阴影属性,应用十分广泛,兼容性也相对较好,具有符合渐进增强原则的特性,我们需要重点掌握. 1.1.1边框圆角 border-radius 每个角可以设置两个值,x值,y值 ...
- React-Native获取文本框的值
要想获取文本框的值,首先我们需要看一下官方文档的解释: 这里的意思是说当文本框的内容改变的时候,文本框的输入的内容就会作为一个参数进行传递.因此我们就可以获取到文本框里面的内容就好了. constru ...
- 基本的 html 代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 如何在Google Map中处理大量标记(ASP.NET)(转)
如何在Google Map中处理大量标记(ASP.NET)(原创-翻译) Posted on 2010-07-29 22:04 Happy Coding 阅读(8827) 评论(8) 编辑 收藏 在你 ...