关于c#知识的学到的新知识点
开头:对这段时间学习的小知识点做一个整理。希望自己能理清思路。当然如果能帮到大家那就更好了。
1.判断写法
!True=false
思考:以前判断一直写if(布尔变量==false),今天看到这个,才知道if(布尔变量==false)就是!布尔变量,if(布尔变量==false)我这么写有点脱裤子放屁了。
2.List[ ]前要add先添加对象地址
思考:我一直以为list没add前,获取list[i]的不行的,但赋值list[i]是可以的。直到今天试了才发现,若下标地址没有事先add赋值,是无法使用[ ]的。一番思考才发现list是顺序存储,不支持随意插入。
3.语法糖
就相当于汉语里的成语。即,用更简练的言语表达较复杂的含义。在得到广泛接受的情况之下,可以提升交流的效率。例:i++是i=i+1的语法糖
思考:以前就知道语法糖这个词,一直不懂什么意思,今天一查百度才知道原来是类似于简写的东西。知乎第一名写得很好,很好懂。
关键字学习
4.params关键字
概念:可变长参数,是在声明方法时参数类型或者个数不确定时使用
思考:新学的关键字。只支持最后一个是一维数组的形参。
例:不加params
static int Add3(int[] array)
int[] Array = new int[] {1,2,3 };
int sum3 = Add3(Array);//只能传送数组
加上params
static int Add3(params int[] array)
int sum3 = Add3(1,2,3 );//可以传递任意个个数的参数
5.sealed关键字
概念:此修饰符会阻止其他类()从该类继承。
思考:没啥好说的,封闭类无法被其他类继承,封闭方法无法被其他类重写此方法
6.readonly关键字
概念:只读字段,就是说在程序运转过程中,程序中能够读取这个字段的值,而不能修正它的值。在C#中能够运用readonly关键词来界说一个只读字段。
7.Dynamic概念:
dynamic的出现让C#具有了弱语言类型的特性。编译器在编译的时候不再对类型进行检查,编译期默认dynamic对象支持你想要的任何特性。比如,即使你对GetDynamicObject方法返回的对象一无所知,你也可以像如下那样进行代码的调用,编译器不会报错:
dynamic dynamicObject = GetDynamicObject();
感觉和var有点像,但还是有区别的
var:编译时被替换。实际上是编译器抛给我们的语法糖,一旦被编译,编译器就会自动匹配var变量的实际类型,并用实际类型来替换该变量的声明,等同于我们在编码时使用了实际类型声明。
dynamic:运行时被替换。被编译后是一个Object类型,编译器编译时不会对dynamic进行类型检查。
8.as关键字
用于安全强制类型转换方法,比起(int)转换更安全,常用语自定义父类与子类的强制转换
as操作符不会做无关联的转换操作,当需要转化对象的类型属于转换目标类型或者转换目标类型的派生类型时,那么此转换操作才能成功,而且并不产生新的对象【当不成功的时候,会返回null】。因此用as进行类型转换是安全的。
关于c#知识的学到的新知识点的更多相关文章
- Python入门方法推荐,哪些基础知识必学?
很多想入门的小伙伴还不知道Python应该怎么学,哪些知识必学,今天我们就来盘点一下. 01.入门方法推荐 总体来讲,找一本靠谱的书,由浅入深,边看边练. 网上的学习教程有很多,多到不知道如何选择.所 ...
- [转帖]K8s 学习者绝对不能错过的最全知识图谱(内含 58个知识点链接)
K8s 学习者绝对不能错过的最全知识图谱(内含 58个知识点链接) https://www.cnblogs.com/alisystemsoftware/p/11429164.html 需要加强学习 ...
- 我学到的新知识之——Lotus Notes闪退如何修复
很多企业内部都在使用IBM 出品的Lotus Notes 来收发邮件,以及内置的SameTime作为内部交流工具,作为用了多年微软套装产品的我来说,还是有些不适应. 最近遇到一个案例,只要用户登陆sa ...
- 数学知识巧学JCF(Java Collections framework)
不知你是否还记得高中我们学过的集合,映射,函数,数学确实很牛逼,拿它来研究java集合类,轻而易举的就把知识理解了.本篇文章适合初学java集合类的小白,也适合补充知识漏缺的学习者,同时也是面试者可以 ...
- Socket编程知识必学
端口号常识: 端口号被从1 开始分配. 通常端口号超出255 的部分被本地主机保留为私有用途. 1到255 之间的号码被用于远程应用程序所请求的进程和网络服务. 每个网络通信循 ...
- 知识普及:iOS7搭载新定位技术iBeacon
摘自:http://iphone.91.com/tutorial/jcjc/131023/21619035.html 在2013年六月举行的WWDC上,作为iOS 7中最重要的新特性之一,苹果正式对外 ...
- Java基础知识总结之1.8新特性lambda表达式
函数式接口 函数式接口(functional interface 也叫功能性接口,其实是同一个东西).简单来说,函数式接口是只包含一个方法的接口.比如Java标准库中的java.lang.Runnab ...
- Go 编译器内部知识:向 Go 添加新语句-第 2 部分
这是探讨 Go 编译器两篇文章的最后一篇.在第 1 部分中,我们通过构建自定义的编译器,向 Go 语言添加了一条新语句.为此,我们按照此图介绍了编译器的前五个阶段: 在"rewrite AS ...
- 草,又学了个新命令,nc传文件。
nc -l 5222 > aa nc 192.168.0.48 5222 < a http://www.linuxso.com/command/nc.html
随机推荐
- eclipse中配置Webdriver
安装JDK,配置好Java环境 下载Eclipse,并完成安装 下载Webdriver的JAR文件(访问Selenium官网,下载Java版的zip文件,并且解压到本地磁盘,解压后文件夹内容如下图:) ...
- 第56篇-ProfileData与DataLayout
某些指令需要创建某些实例,如下: 指令 对应的DataLayout._struct._tag值 _checkcast._instanceof._aastore receiver_type_data_t ...
- yieId详解,以及和return的区别
def foo(): print("starting...") while True: res = yield 4 print("res:",res) g = ...
- 【笔记】thanos receiver的router模式
- 与Elasticsearch交互的客户端
1.访问ES的方式 访问es的方式有两种,一种是http方式,还有一种是java客户端方式. 其中Java客户端又分为:1.1.Node client: 节点客户端实际上是一个集群中的节点(但不保存数 ...
- Vscode不能连接应用商店
删除这两个文件即可: 1.C:\Users\Administrator\.vscode 2.C:\Users\Administrator\AppData\Roaming\Code
- gin中multipart/urlencoded表单
package main import ( "github.com/gin-gonic/gin" ) func main() { router := gin.Default() r ...
- spring 定时任务?
一.什么是定时任务? 我们在项目中遇到的需求: 需要定时送异步请求. 二.怎么实现? 2.1 mvc中启用定时任务. <?xml version="1.0" encodin ...
- 微信 CLI 工具正式发布 v1.0
前言 为了让开发者可以更加方便舒适地获取到微信开发的资源,今天我们基于 Senparc.Weixin SDK 正式发布了基于 .NET 的微信 CLI 工具:Weixin.CLI(v1.0). 通过 ...
- js 二分查找法之每日一更
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content ...