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

综合购物网站排名点击关注进入公众号

综合购物网站排名,点击关注进入公众号,wordpress 邮箱验证码,无备案网站广告如何做总目录 前言 在C#中#xff0c;default 关键字用于表示类型默认值。它可以根据上下文推断出适用的类型#xff0c;并返回该类型的默认值。随着C#版本的发展#xff0c;default 的用法也变得更加丰富和灵活。本文将详细介绍 default 在不同场景下的使用方法及其最佳实践。 一…总目录 前言 在C#中default 关键字用于表示类型默认值。它可以根据上下文推断出适用的类型并返回该类型的默认值。随着C#版本的发展default 的用法也变得更加丰富和灵活。本文将详细介绍 default 在不同场景下的使用方法及其最佳实践。 一、default 获取类型的默认值 1. 语法与作用 可以使用 default 关键字来获取任意类型的默认值。 值类型如 int, double, struct 等返回 类型的零值或空值。 int 默认为 0bool 默认为 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 GenericExampleT {public T GetDefaultValue(){return default(T);} }class Program {static void Main(){GenericExampleint intExample new GenericExampleint();int intResult intExample.GetDefaultValue();Console.WriteLine($int 泛型默认值: {intResult}); // 返回 0GenericExamplestring stringExample new GenericExamplestring();string stringResult stringExample.GetDefaultValue();Console.WriteLine($string 泛型默认值: {stringResult}); // 返回 null} }从 C# 7.1 开始可以直接使用 default 而不带括号来简化语法 class GenericExampleT {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 null2. 初始化集合 在初始化集合如数组、列表等时default 可以用来填充元素的默认值。 int[] numbers new int[5] { default, default, default, default, default }; // 全部元素为 0 Liststring strings new Liststring(new string[3] { default, default, default }); // 全部元素为 null3. 异步编程 在异步方法中default 可以用来处理任务完成前的状态。例如你可以用它来表示尚未开始的任务或取消的任务。 Taskint task default(Taskint); //Taskint 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 DisplayDefaultOfT() {var val default(T);Console.WriteLine($Default value of {typeof(T)} is {(val null ? null : val.ToString())}.); }DisplayDefaultOfint?(); DisplayDefaultOfSystem.Numerics.Complex(); DisplayDefaultOfSystem.Collections.Generic.Listint(); // Output: // Default value of System.Nullable1[System.Int32] is null. // Default value of System.Numerics.Complex is (0, 0). // Default value of System.Collections.Generic.List1[System.Int32] is null.2. default 文本 当编译器可以推断表达式类型时可以使用 default 文本生成类型的默认值。 default 文本表达式生成与 default(T) 表达式其中T 是推断的类型相同的值。 可以在以下任一情况下使用 default 文本 对变量进行赋值或初始化时。在声明可选方法参数的默认值时。在方法调用中提供参数值时。在 return 语句中或作为表达式主体成员中的表达式时。 T[] InitializeArrayT(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 DisplayT(T[] values) Console.WriteLine($[ {string.Join(, , values)} ]);Display(InitializeArrayint(3)); // output: [ 0, 0, 0 ] Display(InitializeArraybool(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.w-s-a.com/news/714421/

相关文章:

  • 平面设计公司网站兰州室内设计公司排名
  • 个人工作室注册条件温州seo结算
  • 360免费建站系统中国建设银行官网站黄金部王毅
  • 罗源福州网站建设个体户可以网站备案吗
  • 网站开发 专有名词pc网站建设和推广
  • 上海部道网站 建设conoha wordpress
  • 手机测评做视频网站宝塔可以做二级域名网站么
  • 代理公司注册济南重庆seo优化效果好
  • 佛山市骏域网站建设专家徐州网站建设价格
  • 公司做网站多济南好的网站建设公司排名
  • 网站维护的方式有哪几种该网站在工信部的icp ip地址
  • 中小企业服务中心网站建设做考勤的网站
  • 大连网站建设报价wordpress实用功能
  • 学校网站建设自查报告电脑网站制作教程
  • 适合推广的网站世界搜索引擎公司排名
  • 合肥网站建设费用ppt在哪个软件制作
  • 湖南省住房和城乡建设厅门户网站网站建设课程性质
  • 如何设计公司网站公司网站空间要多大
  • 建筑公司网站排名5G网站建设要多少个
  • seo怎样新建网站弹簧东莞网站建设
  • 在线做爰直播网站石家庄房产
  • 建筑网站哪里找拓者设计吧首页
  • 广州网站的建设wordpress注册数学验证码
  • 装修平台自己做网站有几个黄页名录网站开发
  • php网站的安全优势平面设计师培训
  • 乐清市网站建设设计重庆沙坪坝区
  • 什么是seo站内优化开发网页的工具有哪些
  • 文化类网站是不是休闲娱乐类网站青州市建设局网站
  • 网站的中英文切换代码做现货黄金网站
  • 万江区网站建设公司前端如何根据ui设计写页面