【C#食谱】【面食】菜单7:用默认值初始化泛型变量
问题:ee6d64b9
你有一个泛型类包含一个由类自身定义类型参数的变量。由于对泛型对象的约束,你希望这个变量被初始化为其默认值。
解决方法:
非常简单的方法:只要使用default关键字初始化其值为默认值即可:
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
使用这个类的代码可以参考这里:
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
当初始化一个相同类型参数的变量时,你不能只是设置这些变量为null。如果这个变量是值类型,比如说int或char,那会是什么呢?那将不能运行,因为值类型不能是null的。你也许会想到一个nullable类型,比如long?或者Nullable<long>,可以被设为空。然而,编译器无法知道用户将使用什么类型参数去构造这个类型。
default关键字允许你告诉编译器在编译时,这个类型的默认值将被使用。如果提供的类型参数是数值(int,long,decimal),那么默认值将会是0。如果是引用类型,那么默认值将会是null。如果是结构体,那么这个结构体的默认值将根据其每一个字段的类型设为0或null。
转载于:https://www.cnblogs.com/adaiye/archive/2008/07/23/defaultValue.html
【C#食谱】【面食】菜单7:用默认值初始化泛型变量相关推荐
- 计算机用户变量path的初值,Windows10系统环境变量默认值(PATH变量原始值)
有时用户会修改windows10专业版系统的环境变量,改到后面原来是什么的也记不得了,想要改回去还要去别的电脑查看,这里小编分享下win10专业版环境变量的默认初始值. 用户变量 Path: %USE ...
- java 泛型 默认值_java泛型 Java泛型的入门知识
在学习java的过程当中,我们就肯定会接触到java泛型,那么你知道java泛型是什么吗,有关java的使用方法又有哪些呢?今天小编就从java泛型的使用方法来了解一下java泛型这一知识. java ...
- JavaScript中实现函数重载和参数默认值
2019独角兽企业重金招聘Python工程师标准>>> 参数默认值是指在调用函数时,若省略了某个实参,函数会自动为该参数分配一个默认值,使得函数调用的方便性和灵活性大大提高. 举个例 ...
- 【Groovy】闭包 Closure ( 自定义闭包参数 | 自定义单个闭包参数 | 自定义多个闭包参数 | 闭包参数默认值指定 )
文章目录 一.自定义闭包参数列表 1.定义一个自定义参数的闭包 2.定义多个自定义参数的闭包 3.为闭包参数指定默认值 二.完整代码示例 一.自定义闭包参数列表 如果要向 闭包 中 , 传递多个参数 ...
- java参数注解pam_java – 使用xmlelement defaultvalue注释指定默认值的简单方法
我通过JAXB有一个简单的pojo注释类: public class MyPojo implements Serializable { private final static long serial ...
- easyui validatebox设置默认值时 去掉校验
//校验失败时 <input id="email" type="text" class="easyui-validatebox validate ...
- 【ES6 教程】第一章 新的ES6语法04—如何设置函数参数的默认值
英文 | https://www.javascripttutorial.net 翻译 | 杨小爱 在本节教程中,我们将学习如何在 ES6 中处理 JavaScript 默认参数. TL;DR func ...
- php 下拉菜单 不提交 选中的值,在html中怎样可以做到下拉菜单提交后保留选中值不返回默认值...
这次给大家带来在html中怎样可以做到下拉菜单提交后保留选中值不返回默认值,在html中做到下拉菜单提交后保留选中值不返回默认值的注意事项有哪些,下面就是实战案例,一起来看一下. 代码如下: // 获 ...
- thinkphp实现动态下拉菜单(补充 设置默认值)
在下拉菜单中的选项 用动态方式添加 提高项目可扩展性 HTML部分 <span style="font-family:KaiTi_GB2312;font-size:18px;" ...
最新文章
- STM32使用另外两种方法使LED灯闪烁
- Linux内核--各种宏定义
- Keras框架训练模型保存及载入继续训练
- 推荐15款响应式的 jQuery Lightbox 插件
- linux usb3.0改2.0,TX1入门教程硬件篇-切换USB2.0与USB3.0
- Express全系列教程之(五):Express的中间件
- 1024程序员:算法仓鼠创业
- 揭秘鲜为人知的酒店管理“黑洞”
- CMR(IF=50.129)重磅综述|肠-脑轴新疗法:肠道菌群如何影响人类神经系统疾病
- Unity 性能优化 之 非常酷的SRP Batcher!
- 随机访问介质访问控制 —— ALOHA协议
- 丛书【数据库面试笔试宝典】已在京东、淘宝、天猫等各大电子商城销售
- Python开发【模块】:Urllib(二)
- jy-12-SPRINGMYBATIS02——云笔记04-刘苍松
- 282.软件体系结构的风格与模式
- iOS-推送自定义提示音
- Google blockly简介(二)Blockly Developer Tools使用
- electron+vue3全家桶+vite项目搭建【九】集成vite-plugin-mock-server 模拟后端请求
- 计算机驱动空间不够,为何我的电脑在安装显卡驱动的时候就是安装不成功,提示是磁盘空间不足,但是其余的磁盘都有130GB左右...
- Kubernetes(十一)Kubernetes ingress的实现原理