
C#
文章平均质量分 91
小布丁的读书笔记
知其然也要知其所以然
展开
-
C#各版本新特性
目录C# 2.0C# 3.0C# 5.0C# 6.0表达式 everywhereout变量元组和解构解构方法 Deconstrct改造Size的构造方法模式匹配ref 局部变量和 ref 返回值数字字面量语法增强局部函数支持更多 async 返回类型C#7.01. out-variables(Out变量)2.Tuples(元...转载 2016-08-23 13:29:49 · 8820 阅读 · 2 评论 -
IL中call与callvirt的区别及其对Equal操作的影响
《CLR via C#》中是这样描述它们的:编译器在生成方法时会在方法定义表中写入该方法的记录项,每个记录项中有一组标志指令方法是静态方法、实例方法还是虚方法,如下图:生成IL代码时,编译器会根据这些标志,判断应如何生成IL代码(是使用call还是callvirt)。call (静态/前期绑定)该IL指令可调用静态方法、实例方法和虚方法。用call指令调用静态方法,必须指定方法的定义类型。用cal...原创 2018-03-27 18:27:47 · 1934 阅读 · 0 评论 -
未记录的C# Keywords: __makeref, __refvalue, __arglist ...
看IL指令到mkrefany, 文档中说它的作用是: "push a typed reference on the stack", 不知道在C#的何种语法会用上这条指令, 于是Google之, 发现了从来没有看过的C#关键字:Object obj = new Object(); TypedReference typedref = __makeref(obj); Type type = __reft...转载 2018-04-04 23:49:20 · 1104 阅读 · 1 评论