摘要: 10.3.4 用 Select 方法和匿名类型进行投影 阅读全文
posted @ 2018-12-02 11:17 一只桔子2233 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 9.3.2 将表达式树编译成委托 9.3.3 将C# Lambda表达式转换成表达式树 9.4.1 改变的起因:精简泛型方法调用 9.4.2 推断匿名函数的返回类型 9.4.3 分两个阶段进行的类型推断 9.4.4 选择正确的被重载的方法 阅读全文
posted @ 2018-12-01 17:05 一只桔子2233 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 类在存在有参构造函数的情况下,必须显示的给出无参构造函数 结构体存在有参构造函数的情况下,可不比提供 有参构造函数 也可使用 阅读全文
posted @ 2018-12-01 15:56 一只桔子2233 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 第1个pragma禁用了我们感兴趣的特别警告,第2个恢复了它。禁用尽可能小的一段代码的警告是一个良好的做法,以便你不会错过任何真正应该修复的错误。如果你想在单独一行上禁用或恢复多个警告,那么只需用逗号分隔多个警告编号。如果你没有指定任何警告编号,将一次性禁用或恢复所有警告——不过无论从哪个方面想这都 阅读全文
posted @ 2018-12-01 09:26 一只桔子2233 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 7.4.1 限定的命名空间别名 7.4.2 全局命名空间别名 阅读全文
posted @ 2018-11-28 22:43 一只桔子2233 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 7.1.1 在多个文件中创建一个类型 7.1.3 C# 3 独有的分部方法 对 PartialMethodDemo 的无参构造函数进行调用,输出结果为“Generated constructor”,接着“Manual code”也会被打印出来。分析构造函数的IL,你不会看到对 OnConstruct 阅读全文
posted @ 2018-11-27 22:24 一只桔子2233 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 6.2.2 观察迭代器的工作流程 6.2.3 进一步了解迭代器执行流程 1. 使用 yield break 结束迭代器的执行 2. finally 代码块的执行 foreach 会在它自己的 finally 代码块中调用 IEnumerator 所提供的Dispose 方法(就像 using 语句) 阅读全文
posted @ 2018-11-25 14:59 一只桔子2233 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 5.5.4 捕获变量的延长生存期 5.5.5 局部变量实例化 使用多个委托来捕捉多个变量实例 由循环的初始部分声明的变量只被实例化一次。这很容易弄错!如果你想捕获循环变量在一次特定的循环迭代中的值,必须在循环内部引入另一个变量,并将循环变量的值复制给它,再捕捉那个新变量 5.5.6 共享和非共享的变 阅读全文
posted @ 2018-11-24 18:10 一只桔子2233 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 实际上,当 SomeType 只描述返回类型参数的操作时,协变就是安全的;而当 SomeType只描述接受类型参数的操作时,逆变就是安全的 阅读全文
posted @ 2018-11-21 22:17 一只桔子2233 阅读(112) 评论(0) 推荐(0) 编辑
摘要: class Program { static void Main(string[] args) { Console.ReadKey(); } static int Compare(Product x, Product y) { return Partia... 阅读全文
posted @ 2018-11-21 22:13 一只桔子2233 阅读(151) 评论(0) 推荐(0) 编辑