原文:《Effective C#》读书笔记——条目8:推荐使用查询语法而不是循环

查询语法 query syntax 可以让程序逻辑的表达由 命令式 转换为 声明式 。查询语法定义了想要的结果,而把具体实现交给其他的专门实现。使用查询语法 实现了查询表达式模式的方法语法也可以 要比传统的命令式循环结果更加清晰的表达你的意图。 下面我们观察一个使用命令式方法填充一个数组,然后将其内容输出至控制台: 编写命令式的代码需要关注具体的实现细节。但是如果采用查询语法,实现同样的功能,代 ...

2012-09-01 21:19 10 2344 推荐指数:

查看详情

Effective C#读书笔记——条目10:使用可选参数减少方法重载的数量<C#语言习惯>

  C#4.0 引入了具名参数(MSDN翻译为“命名实参”,个人认为具名参数更形象,可选参数亦是)和可选参数(可选实参)。客户端代码使用具名参数意味着:方法中的参数名称也成为了公有接口的一部分。假如修改公有参数的名称将有可能破坏调用者的代码。这意味着:调用者应该尽可能的避免使用具名参数 ...

Mon Oct 08 05:54:00 CST 2012 2 2628
Effective C#读书笔记——条目6:理解几个等同性判断之间的关系<C#语言习惯>

  创建自定义的类型时(无论是类还是struct),应为类型定义”同等性“的含义。在C#中为我们提供了四种不同的函数来判断两个对象是否”相等“: 引用相等和值相等   C#允许我们创建两种类型:值类型和引用类型。如果两个引用类型的变量指向的是同一个对象,它们将被认为是“引用相等 ...

Sat Sep 01 22:26:00 CST 2012 5 1740
Effective C#读书笔记——条目11:理解短小方法的优势<C#语言习惯>

  在应用程序开发过程中,开发者都力求写出更加高效的代码。但是当你想手工为C#编译器优化代码时,你的种种优化可能反倒会阻碍JIT进行更加高效的优化。因此,我们最好尽可能的写出最清晰的代码,将优化工作交给JIT编译器去完成。   在.NET平台下开发程序的开发者都应该知道:.NET运行时将调用 ...

Tue Oct 09 07:14:00 CST 2012 5 1981
Effective C#读书笔记——条目22:通过定义并实现接口替代继承<使用C#表达设计>

  接口是一种按照契约设计的方式,一个类型必须实行接口中定义的方法。抽象基类则为一组相关的类型提供了一个共有的抽象。要注意二者的使用场景和区别:基类描述了对象是什么;接口描述了对象将如何表现行为。 1.关于接口   接口描述了一组功能,是一个契约,任何实现接口的类型必须为接口中定义 ...

Wed Jan 16 06:38:00 CST 2013 9 2376
Effective C#读书笔记——条目12:推荐使用成员初始化器而不是赋值语句<.NET资源管理>

  一般情况下,一个类都会有多个构造函数。随着时间的推移,成员变量、构造函数不断增加。为了处理这种情况最方便的办法就是:在声明变量的时候进行初始化,而不是在每个构造函数中进行。无论是类成员(静态变量)合适实例变量,我们都应该充分利用初始化器的语法。   C#编程在,一般在声明一个变量 ...

Wed Nov 07 05:59:00 CST 2012 3 2640
Effective C#读书笔记——条目17:实现标准的销毁模式<.NET资源管理>

  如何为我们自己的包含非托管资源的类型编写资源管理代码呢?在 .NET 中为我们提供了一种标准的销毁非托管资源的模式,这个标准的模式能够使使用者通过调用IDisposable接口正常释放掉非托管资源,也能够保证使用者在忘记释放资源时使用终结器释放。这个标准模式可以和GC配合,保证仅在最糟 ...

Fri Nov 30 17:33:00 CST 2012 7 1634
[.NET] 《Effective C#》快速笔记(一)- C# 语言习惯

Effective C#》快速笔记(一)- C# 语言习惯 目录 一、使用属性而不是可访问的数据成员 二、使用运行时常量(readonly)而不是编译时常量(const) 三、推荐使用 is 或 as 操作符而不是强制类型转换 四、使用 Conditional ...

Mon Apr 24 16:33:00 CST 2017 16 6891
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM