当前位置: 首页 > news >正文

织梦增加网站英文名称公司seo是什么职位

织梦增加网站英文名称,公司seo是什么职位,滨海新区做网站电话,设计的网站总目录 前言 在C#中,default 关键字用于表示类型默认值。它可以根据上下文推断出适用的类型,并返回该类型的默认值。随着C#版本的发展,default 的用法也变得更加丰富和灵活。本文将详细介绍 default 在不同场景下的使用方法及其最佳实践。 一…

总目录


前言

在C#中,default 关键字用于表示类型默认值。它可以根据上下文推断出适用的类型,并返回该类型的默认值。随着C#版本的发展,default 的用法也变得更加丰富和灵活。本文将详细介绍 default 在不同场景下的使用方法及其最佳实践。


一、default 获取类型的默认值

1. 语法与作用

可以使用 default 关键字来获取任意类型的默认值。

值类型(如 int, double, struct 等):返回 类型的零值或空值。

  • int 默认为 0
  • bool 默认为 false
  • 结构体的所有字段都被初始化为其默认值

引用类型(如 string, class, interface 等):默认为 null

这在初始化变量或者为方法参数提供默认值时非常有用。

2. 示例代码

    internal class Program{public static void Main(){// 获取 int 类型的默认值int intDefault = default(int);Console.WriteLine($"int 默认值: {intDefault}");        //int 默认值: 0// 获取 bool 类型的默认值bool boolDefault = default(bool);Console.WriteLine($"bool 默认值: {boolDefault}");      //bool 默认值: False// 获取自定义类的默认值MyClass classDefault = default(MyClass);Console.WriteLine($"MyClass 默认值: {classDefault}");  // MyClass 默认值:// C# 7.1 及以后版本可省略类型int intValue = default; // intValue = 0bool boolValue = default; // boolValue = falsestring stringValue = default; // stringValue = nullConsole.WriteLine($"string 默认值: {stringValue}");    //string 默认值:}}class MyClass { }

代码解释

  • default(int) 返回 int 类型的默认值 0。
  • default(bool) 返回 bool 类型的默认值 false。
  • default(MyClass) 返回自定义类 MyClass 的默认值 null。
  • 在 C# 7.1 及以后版本中,可以省略类型直接使用 default 来初始化变量,如 string stringValue = default;

二、default 在泛型中的应用

1. 语法与作用

在泛型方法或类中,当需要给泛型类型的变量赋默认值时,default 关键字非常有用。因为在泛型代码中,无法提前知道具体的类型,使用 default 可以确保无论泛型类型是值类型还是引用类型,都能正确地赋予默认值。

2. 示例代码

using System;class GenericExample<T>
{public T GetDefaultValue(){return default(T);}
}class Program
{static void Main(){GenericExample<int> intExample = new GenericExample<int>();int intResult = intExample.GetDefaultValue();Console.WriteLine($"int 泛型默认值: {intResult}"); // 返回 0GenericExample<string> stringExample = new GenericExample<string>();string stringResult = stringExample.GetDefaultValue();Console.WriteLine($"string 泛型默认值: {stringResult}"); // 返回 null}
}

从 C# 7.1 开始,可以直接使用 default 而不带括号来简化语法:

class GenericExample<T>
{public T GetDefaultValue(){return default;}
}

三、default 在 switch 语句中的使用

1. 语法与作用

在 switch 语句中,default 标签用于处理所有未被其他 case 标签匹配的情况。它类似于 if-else 语句中的 else 分支,确保 switch 语句能够处理所有可能的输入。

2. 示例代码

using System;class Program
{static void Main(){int number = 3;switch (number){case 1:Console.WriteLine("数字是 1");break;case 2:Console.WriteLine("数字是 2");break;default:Console.WriteLine("数字不是 1 也不是 2");break;}}
}

四、default 其他应用

1. 可空类型

对于可空类型(例如 int?),default 返回的是 null 而不是基础类型的默认值。

int? nullableInt = default; // nullableInt = null
DateTime? nullableDate = default; // nullableDate = null

2. 初始化集合

在初始化集合(如数组、列表等)时,default 可以用来填充元素的默认值。

int[] numbers = new int[5] { default, default, default, default, default }; // 全部元素为 0
List<string> strings = new List<string>(new string[3] { default, default, default }); // 全部元素为 null

3. 异步编程

在异步方法中,default 可以用来处理任务完成前的状态。例如,你可以用它来表示尚未开始的任务或取消的任务。

Task<int> task = default(Task<int>);
//Task<int> task = default;
if (task == null)
{Console.WriteLine("Task has not been initialized.");
}

五、default 运算符与 default 文本

1. default 运算符

default 运算符的实参必须是类型或类型形参的名称,如以下示例所示:

Console.WriteLine(default(int));  // output: 0
Console.WriteLine(default(object) is null);  // output: Truevoid DisplayDefaultOf<T>()
{var val = default(T);Console.WriteLine($"Default value of {typeof(T)} is {(val == null ? "null" : val.ToString())}.");
}DisplayDefaultOf<int?>();
DisplayDefaultOf<System.Numerics.Complex>();
DisplayDefaultOf<System.Collections.Generic.List<int>>();
// Output:
// Default value of System.Nullable`1[System.Int32] is null.
// Default value of System.Numerics.Complex is (0, 0).
// Default value of System.Collections.Generic.List`1[System.Int32] is null.

2. default 文本

当编译器可以推断表达式类型时,可以使用 default 文本生成类型的默认值。 default 文本表达式生成与 default(T) 表达式(其中,T 是推断的类型)相同的值。 可以在以下任一情况下使用 default 文本:

  • 对变量进行赋值或初始化时。
  • 在声明可选方法参数的默认值时。
  • 在方法调用中提供参数值时。
  • 在 return 语句中或作为表达式主体成员中的表达式时。
T[] InitializeArray<T>(int length, T initialValue = default)
{if (length < 0){throw new ArgumentOutOfRangeException(nameof(length), "Array length must be nonnegative.");}var array = new T[length];for (var i = 0; i < length; i++){array[i] = initialValue;}return array;
}void Display<T>(T[] values) => Console.WriteLine($"[ {string.Join(", ", values)} ]");Display(InitializeArray<int>(3));  // output: [ 0, 0, 0 ]
Display(InitializeArray<bool>(4, default));  // output: [ False, False, False, False ]System.Numerics.Complex fillValue = default;
Display(InitializeArray(3, fillValue));  // output: [ (0, 0), (0, 0), (0, 0) ]

结语

回到目录页:C#/.NET 知识汇总
希望以上内容可以帮助到大家,如文中有不对之处,还请批评指正。


参考资料:
默认值表达式 - 生成默认值

http://www.hkea.cn/news/574088/

相关文章:

  • 网页怎么制作超链接seo兼职接单平台
  • 网站建设中应注意哪些问题重庆整站seo
  • 贵阳网站建设哪家便宜微商软文范例大全100
  • 怎么在微信上做网站竞价交易
  • wordpress优化版4.7.4网站seo设计
  • 网上课程网站精准客户数据采集软件
  • 专业网站建设报价外呼系统电销
  • 网站建设公司价格差别seo还有哪些方面的优化
  • 哪家公司建造了迪士尼乐园关键词优化推广排名多少钱
  • 做教育的网站有哪些内容吗湖南网站营销推广
  • wordpress 跳过ftp搜索引擎排名优化方案
  • 360做的网站北京营销推广公司
  • 我国政府网站建设的趋势宁波seo公司排名榜
  • 高端网站建设,恩愉科技专业的seo搜索引擎优化培训
  • 跨境网站开发公司网站seo思路
  • 冠县网站建设活动推广方案
  • 鲜花培训网站建设网站推广要点
  • 情趣内衣怎么做网站如何制作网页
  • 网站交互技术百度推广登陆后台
  • 网站的推广和宣传方式各行业关键词
  • 腾讯云服务器网站建设淘宝推广哪种方式最好
  • 大专网站建设论文找个免费的网站
  • 移动端网站开发流程图seopeix
  • 购物网站制作免费太原seo招聘
  • 怎么建设食品网站济南seo外包公司
  • 建设网站有哪些seopeix
  • 桂林市工程建设项目招标网站莆田百度快照优化
  • 金华网站建设大型网页建设农产品网络营销
  • wordpress free cdn长沙百度快速优化
  • 网页界面设计首页seo快速优化软件网站