.NET Framework 3.5 使用的是 C# 3.0,C# 3.0 有一些新的语言特性,其中有一项就是快捷属性。

之前的写法:

private int _id = 0;
public int Id
{
    get
    {
        return _id;
    }
    set
    {
        _id = value;
    }
}

在 C# 3.0 中可以简写为这样:

public int Id { get; set; }

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; } 默认值的更多相关文章

  1. c# 基本值类型及其默认值

    //值类型 C# 类型      .NET Framework 类型 bool            System.Boolean 4Byte 32bit布尔型变量 逻辑值,true或者false,默 ...

  2. jsp页面向后台传递 不赋值 传递的默认值

    <input type="hidden" name="leaderIdentity" value="${subject.leaderId }&q ...

  3. Celery-4.1 用户指南: Configuration and defaults (配置和默认值)

    这篇文档描述了可用的配置选项. 如果你使用默认的加载器,你必须创建 celeryconfig.py 模块并且保证它在python路径中. 配置文件示例 以下是配置示例,你可以从这个开始.它包括运行一个 ...

  4. golang的数据类型之基本数据类型的默认值和转换

    默认值: 整型的默认值:0 浮点型的默认值:0字符串的默认值:""   //空布尔类型的默认值:false package mainimport "fmt" f ...

  5. 函数的默认值与动态参数arguments的总结

    在js函数与作用域,了解函数基本概念中,我们发现当函数的实参有一个没有上传的时候,对应的形参time展示的值就是undefined,如下代码所示: <!DOCTYPE html> < ...

  6. Language Guide (proto3) | proto3 语言指南(三)默认值

    默认值 解析消息时,如果编码的消息不包含特定的单数元素,则解析对象中的相应字段将设置为该字段的默认值.这些默认值是特定于类型的: string:默认值为空字符串 bytes:默认值为空字节 boole ...

  7. MySQL5.0+提示字段没有默认值(doesn’t have a default value)的解决方法

    方法一: 打开my.ini,查找  sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION” 修改为  sql ...

  8. C#实现函数默认值和C#4.0实现默认值

    static void Main(string[] args) { SayHello(); SayHello("侯志强"); Console.ReadKey(); } C#.0实现 ...

  9. 转载:as3.0下对象类型返回值与变量默认值的详细说明

    转自:http://www.cuplayer.com/player/PlayerCodeAs/2012/0905367.html Null.NaN.undefined 及各自应用对象:变量的默认值: ...

随机推荐

  1. Unity 使用实体类

    故事的由来: 正在开发打飞机的游戏,遇到这样的数据结构,游戏有很多关卡-> 每个关卡有几波怪物->每一波里面有怪物和数量 [] 关卡 { []波{ {怪物,数量},{怪物,数量},{怪物, ...

  2. UIColor-Hex-Swift

    // // UIColorExtension.swift // HEXColor // // Created by R0CKSTAR on 6/13/14. // Copyright (c) 2014 ...

  3. poj 3894 System Engineer (二分图最大匹配--匈牙利算法)

    System Engineer Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 507   Accepted: 217 Des ...

  4. 反射操作辅助类ReflectionUtil

    这篇文章的目的是介绍这样一种方式,就是在写一个函数的时候,传递的参数是object类型的,在这个函数里面想访问这个参数对象的某一属性值,我们知道这个属性值的name,但是一般情况下,object对象是 ...

  5. Android开发错误汇总

    [错误信息] [2011-01-19 16:39:10 - ApiDemos] WARNING: Application does not specify an API level requireme ...

  6. HtmlHelp

    @Html.Label("Label", "Label") @*渲染成<label for="Label">Label</ ...

  7. linux下C++ STL hash_map的使用以及使用char *型变量作为Key值的一大“坑”

    计算机编程中经常会用到hash表,而在C++中,使用STL编程更是少不了的.本文将介绍STL中hash_map的使用.在hash_map中使用自定义类型作为key值的方法以及在使用char *类型作为 ...

  8. Linux操作系统报:read-only file system

    在对集群测试过程中发现系统中某一节点中的磁盘变成read-only file system,从而导致测试任务出错,从网上查找资料,找到以下解决方案: 这个报错的意思是硬盘属性变成只读,不可写入: VO ...

  9. oracle 之 COMMENT

    http://blog.csdn.net/liguihan88/article/details/3002403 无疑注释现在都被大家接受和认可,在大家编程用的IDE中都提供或有第三方插件来支持提取注释 ...

  10. .Net Service部署(二)

    1. 以管理员权限运行cmd.exe2. 安装服务 安装服务需要注意的是,如果电脑已经安装了此服务,需要先停止服务然后删除服务, 在进行安装注册,注册前先运行  cd C:\Windows\Micro ...