08 2007 档案

Effective c# Item4:使用Conditional特性代替#if条件编译
摘要: #if/#endif块用来对同样的源代码产生不同的版本,大多是debug和release版本。但它并不好用,#if/#endif块很容易被滥用,代码难于调试与理解。语言设计者们意识到并为我们提供了更好的工具,用来生成不同运行环境下的机器代码。c#为我们添加了Conditional特性用于指示某个方法的调用是基于环境设置的。这种方法比起#if/#endif块它对条件编译阐述的更清晰。编译器认识Con...阅读全文
posted @ 2007-08-26 14:14 Cruise 阅读(569) | 评论 (0) 编辑
Effective c# Item3:操作符is或as优于强制转型
摘要: C#是强类型的语言。好的编程习惯是当可以避免类型转换就尽量避免。但有时,运行时类型检查是不可避免的。c#中你常常写些带有System.Object类型的参数的方法,因为框架已经为你定义了方法的原型。你可能会将Object类型向下转型,转成其他类型或类或接口。你有两个选择:用as操作符或老式的C强制转型写法。你得对变量保护:你可以用is操作符测试类型转换,然后再进行转换。正确的做法总是使用as操作符...阅读全文
posted @ 2007-08-19 21:32 Cruise 阅读(1481) | 评论 (3) 编辑
Effective c# Item2:运行时常量(readonly)优于编译时常量(const)
摘要: c#有两种不同版本的常量:编译时常量和运行时常量。它们有完全不同的行为,如果用的不好将花费额外性能甚至出错。如果你一定要选择其一,一个慢但正确的程序总比一个快的错的程序好,所以你应该选择运行时常量而不是编译时常量。编译时常量相对运行时常量虽然快,但并不灵活。当涉及程序性能并且其值不会改变时我们应该保留编译时常量。定义运行时常量用关键字readonly ,编译时常量用关键字const 声明://Co...阅读全文
posted @ 2007-08-19 13:28 Cruise 阅读(285) | 评论 (0) 编辑
Effective c# Item1:总是使用属性替代可访问的数据成员
摘要: C#语言已经将属性的地位从编程习惯提升为良好的语言特征。如果你仍在自己的类型中创建公共变量,建议不要这样做;也不要手工创建get 和set方法。属性暴露数据成员作为公共接口的一部分并提供面向对象环境中的封装功能。属性是一种语言元素,访问它们如同访问数据成员,但是它们由方法来实现。类型的一些成员,数据成员是它们最好的表现形式:客户的名字,点的x,y坐标,去年的税收。属性允许你创建一个接口,用起来如同...阅读全文
posted @ 2007-08-18 23:07 Cruise 阅读(401) | 评论 (0) 编辑
[翻译]ASP.NET探秘——IIS和处理模型
摘要: 原文链接:http://dotnetslackers.com/articles/iis/ASPNETInternalsIISAndTheProcessModel.aspx发布日期:5-3-2007作者:Simone BusoliASP.NET是一个构建web应用程序和组件的漂亮框架,但由于它的扩展性使得绝大多数人无法了解它的每个细节。尽管通过网络或图书可以找到很多可用的资料,但我也发现关于底层架构...阅读全文
posted @ 2007-08-04 19:15 Cruise 阅读(577) | 评论 (1) 编辑