VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • C#教程之C# 7.1中default关键字的新用法

default 关键字有两类用法

  1. switch语句中指定默认标签
  2. 默认值表达式

switch 语句#


Copy
int caseSwitch = 1; switch (caseSwitch) { case 1: Console.WriteLine("Case 1"); break; case 2: Console.WriteLine("Case 2"); break; default: Console.WriteLine("Default case"); break; }

默认值表达式#

default对应各种类型生成默认值列表如下: |类型|默认值| |-|-| |任何引用类型|null| |数值类型|零| |bool|false| |enum|表达式 (E)0 生成的值,其中 E 是枚举标识符。| |struct|通过如下设置生成的值:将所有值类型的字段设置为其默认值,将所有引用类型的字段设置为null。| |可以为 null 的类型|HasValue 属性为 false 且 Value 属性未定义的实例。|

罗列一下上述列表中的常见类型对应的值

在C# 7.1 之前


Copy
default(string) // null default(int) // 0 default(int?) // null default(dynamic) // null default(DateTime) // 0001/01/01 0:00:00 default(DateTime?) // null

默认文本和类型推理#

C# 7.1 default的使用常见举例 Visual Studio 2017 默认C#语言版本是7.0,需要自己设置7.1 Alt+Enter快捷键打开项目属性,或者右键点击项目,选择属性,之后选择生成,点击高级,如下图

打开高级生成设置,选择语言版本,选C# 7.1 及以上的版本,如下图

如果没有C# 7.1 及以上的版本可选,请下载.NET Framework 4.7.2,现在最新版本的是4.7.2,直接下载最新版本的,省事。然后重启VS,就能看到7.1及以上的可选项。

变量初始值设定项#

7.1之前:


Copy
var dstring = default(string); var dint = default(int); var dintNull = default(int?); var d = default(dynamic); var dt = default(DateTime); var dt1 = default(DateTime?);

7.1:


Copy
string s = default; int i = default; DateTime? dt = default; dynamic d = default;

变量赋值#

7.1之前:


Copy
var s = "字符串"; s = default(string);

7.1:


Copy
var s = "字符串"; s = default;

声明可选参数的默认值#

7.1之前:


Copy
void Test(int a, string b = null) { }

7.1:


Copy
void Test(int a, string b = default) { }

为方法调用参数提供值#

7.1之前:


Copy
static void Test(int a, string b) { } static void Main(string[] args) { Test(0, null); }

7.1:


Copy
static void Test(int a, string b) { } static void Main(string[] args) { Test(default, default); }

返回语句#

7.1之前:


Copy
static string Test() { return null; }

7.1:


Copy
static string Test() { return default; }

expression bodied 成员中的表达式#

7.1之前:


Copy
public string A => null;

7.1:


Copy
public string A => default;

参考:默认值表达式(C# 编程指南)

作者:repeatedly

出处:https://www.cnblogs.com/AlienXu/p/9494676.html

本站使用「署名 4.0 国际」创作共享协议,转载请在文章明显位置注明作者及出处。



相关教程