c#中的多义关键字

new

new用三种场景,最常用的实例化,泛型参数时的实例化约束,第三种是显式隐藏继承成员。

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static System.Console;
namespace KeyWordsDemo
{class NewDemo : IDemo{public void Run(){//new 1var table = new DataTable();//new 2Show<Parent>(new Child());//new 3Parent parent = new Child();parent.Print();}//new 2static void Show<T>(T t) where T : new(){WriteLine(t.GetType());}#region new 3public class Parent{public virtual void Print(){WriteLine("Parent Print");}public virtual void View(){}}public class Child : Parent{//now 3public new void Print(){WriteLine("Child Print");}public override void View(){}}#endregion}
}

default

default有两种用法,一是返回类型的默认值,二是在switch中作为非选项值。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static System.Console;
namespace KeyWordsDemo
{class DefaultDemo : IDemo{public void Run(){//default 1WriteLine(default(int));WriteLine(default(bool));WriteLine(default(DateTime));WriteLine(default(string));switch (default(string)){case "":WriteLine("空字符串");break;case null:WriteLine("null");break;//default 2default:WriteLine("其他");break;}}}
}

out

out有两种用法,一是作为方法输出参数,从方法内部返回数据,二是用在接口和委托的协变中,如案例中的interface IParent<out R>

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static System.Console;namespace KeyWordsDemo
{class OutDemo : IDemo{public void Run()
{//out 1Computer(out int result);WriteLine(result);WriteLine("------------");IParent<object> p1 = new Child<object>();IParent<object> p2 = new Child<string>();WriteLine(p1.GetType());WriteLine(p2.GetType());p1.Print();p2.Print();p1 = p2;p1.Print();}//out 1public void Computer(out int result)
{result = 10;}//out 2interface IParent<out R>{R Print();}class Child<R> : IParent<R>{public R Print()
{var r = default(R);WriteLine($"{typeof(R).Name}");return r;}}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/302903.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

当时我就震惊了:无穷带来的各种悖论

全世界有3.14 % 的人已经关注了数据与算法之美希尔伯特旅馆悖论&#xff08;Hilberts paradox of Grand Hotel&#xff09;希尔伯特旅馆有无限个房间&#xff0c;并且每个房间都住了客人。一天来了一个新客人&#xff0c;旅馆老板说&#xff1a;“虽然我们已经客满&#xff0c;…

重载运算符操作_学习

//A: 操作符重载实现为类成员函数 /* #include <iostream> class Person { private:int age; public:Person(int a){this->agea;}//inline bool operator(const Person &ps)const;inline bool operator(const Person *ps)const; }; //inline bool Person::operat…

砸了140亿的计算机视觉,未来到底如何?

指纹解锁、刷脸识别、语音转换文字、机器人看病、Alphago我们已经深刻的感受到&#xff0c;人工智能在改变我们的工作方式和认知。通过 SAS 针对企业人工自能就绪调研的报告可以看到&#xff0c;大部分企业认为人工智能还处于初期阶段&#xff0c;“目前&#xff0c;我们正在部…

记一次 .NET WPF布草管理系统 挂死分析

一&#xff1a;背景 1. 讲故事这几天看的 dump 有点多&#xff0c;有点伤神伤脑&#xff0c;晚上做梦都是dump&#xff0c;今天早上头晕晕的到公司就听到背后同事抱怨他负责的WPF程序挂死了&#xff0c;然后测试的小姑娘也跟着抱怨。。。嗨&#xff0c;也不知道是哪一个迭代改出…

轻量级HTTP服务器Nginx(安装篇)

一、下载与安装Nginx Nginx的官方网站是http://sysoev.ru/nginx/&#xff0c;英文主页为http://nginx.net&#xff0c;从这里可以获得Nginx的最新版本信息。Nginx有三个版本&#xff1a;稳定版、开发版和历史稳定版。开发版更新较快&#xff0c;包含最新的功能和bug的修复…

mysql视图实现的_mysql视图是什么?怎么实现?

mysql视图是什么&#xff1f;怎么实现&#xff1f;发布时间&#xff1a;2020-05-21 18:00:24来源&#xff1a;亿速云阅读&#xff1a;152作者&#xff1a;鸽子视图本身是一张虚拟表&#xff0c;不存放任何数据。在使用SQL语句访问视图的时候&#xff0c;获取的数据是MySQL从其它…

中国人的数学为什么好,为什么不好

全世界有3.14 % 的人已经关注了数据与算法之美世界人民已经懒得吐槽美国学生的数学水平了&#xff0c;正如他们已习惯于惊叹中国学生的天才。脱离计算器就不会四则运算&#xff0c;把sinx/n算成“six”&#xff0c;美国学生闹的笑话层出不穷&#xff0c;每隔一段时间&#xff0…

.NET Core 调用百度 PaddleOCR 识别图文

了解 PaddleOCR 之前&#xff0c;首先了解一下 PaddlePaddle。飞桨(PaddlePaddle)以百度多年的深度学习技术研究和业务应用为基础&#xff0c;是中国首个开源开放、技术领先、功能完备的产业级深度学习平台&#xff0c;集深度学习核心训练和推理框架、基础模型库、端到端开发套…

SQL SERVER2000存储过程调试

sql server2000存储过程调试基础条件启用SQLDebugger 账户账户&#xff0c;这个一般都是开启的&#xff1b;mssqlserver服务要求使用指定用户(不是本地系统用户)&#xff0c;最好是administrator启动&#xff01;这个资料上这么说。但我用本地系统用户也是可以的&#xff1b;登…

华为机试支持python吗_4.10华为暑期实习生机试题目,python解答

第一题是给一个字符串&#xff0c;然后按照次数和ascii码的顺序&#xff0c;循环输出。比如输入eeefffggh&#xff0c;由于ascii的大小&#xff0c;e efgh efg ef efghefgef。字符串中可包含数字和大小写英文字母。 思路是先用dict统计个数&#xff0c;然后将所有可能…

大数据时代,数据科学都有些啥?

暑假咻地一下过完啦&#xff0c;前几天&#xff0c;小天介绍了关于数模课程的开学季限时优惠&#xff08;传送门&#xff09;&#xff0c;今天要介绍的是python课程。接下来&#xff0c;小天来详细说明一下&#xff01;19月17日~23日报名《python机器学习实战》即可享受限时330…

那些被.NET大厂拒绝的大佬们,究竟弱在哪里?

如火如荼的金三银四跳槽季迎来尾声&#xff0c;几家欢喜几家愁&#xff0c;既看到腾讯阿里百度的大厂offer&#xff0c;又羡慕30k、40k、50k的高薪&#xff0c;更多其实还是各种面试失蹄的故事。成功的案例五花八门&#xff0c;而失败的原因却千篇一律。据统计&#xff0c;约70…

在python中strip_python中strip()函数怎么用?

python中strip()函数怎么用&#xff1f;发布时间&#xff1a;2020-05-19 16:57:38来源&#xff1a;亿速云阅读&#xff1a;182作者&#xff1a;Leah今天小编为大家分享的是python中strip()函数的使用方法。代码详细容易理解&#xff0c;为此分享给大家做个参考。一起跟随小编过…

ObjectiveC 深浅拷贝学习

&#xff08;转自 http://woshao.com/article/f91898b24a1211e097d3000c2959fd2a/&#xff09; 在ObjC中&#xff0c;什么是深浅拷贝&#xff1f;深浅拷贝分别指深拷贝和浅拷贝&#xff0c;即mutableCopy和copy方法。copy复制一个不可变对象&#xff0c;而mutableCopy复制一个m…

SQL语言最佳实践

为单位制订的SQL规范&#xff0c;分享一下。首先说一下&#xff0c;这是公司用的一个规范&#xff0c;给到程序员做参考的。其实&#xff0c;这个规范是建立在对SQL有一定熟悉程序的基础上的&#xff0c;所以规范本身并不涉及SQL语法学习的相关内容。1. 绝对避免使用 SELECT *S…

有哪些经济学理论可以用在谈恋爱上?

全世界有3.14 % 的人已经关注了数据与算法之美大概两周前回加拿大的航班上&#xff0c;我在机舱尾部跟一位空姐聊了很久。大概两周前回加拿大的航班上&#xff0c;我在机舱尾部跟一位空姐聊了很久。看到浮标沉下去了&#xff0c;我却把鱼竿放回地上&#xff0c;难道我是素食主义…

python 局部变量 占内存吗_Python中全局变量和局部变量的理解与区别

前言学过编程的人应该对全局变量与局部变量这两个名词并不陌生&#xff0c;Python也同多数编程语言一样&#xff0c;也有全局变量与局部变量的概念但是与其他编程语言又有所不同全局变量与局部变量两者的本质区别就是在于作用域用通俗的话来理解的话&#xff0c;全局变量是在整…

port wifi to ICS(4.0.3)

去年移植了2.2。最近又刚刚移植了4.0.3。使用的是broadcom的bcm4329网卡。现把移植经历分享一下 1.该android.hardware.wifi.xml复制到out目录下 在相应的.mk文件中。添加 PRODUCT_COPY_FILES \ frameworks/base/data/etc/android.hardware.wifi.xml:$(PRODUCT_OUT)system/etc…

C# 离线使用nuget

正常在我们使用nuget进行程序集下载的时候&#xff0c;直接在vs编辑器中直接进行操作&#xff0c;下载自己想要的各种程序&#xff0c;但是某些时候&#xff0c;在进行一些办公时&#xff0c;公司要求本机编码不能进行联网操作&#xff0c;那么这种情况下我们怎么进行nuget程序…

21个令程序员泪流满面的瞬间

「1」公司实习生找 Bug「2」在调试时&#xff0c;将断点设置在错误的位置「3」当我有一个很棒的调试想法时 「4」偶然间看到自己多年前写的代码「5」当我第一次启动我的单元测试时「6」数据库的Delete语句忘了使用限定词where... 「7」明明是个小bug但就是死活修不好......「8…