摘要:JavaScript由以下3个部分构成: ECMAScript:核心部分,描述了JavaScript的语法及基本对象。 DOM:描述了处理网页内容的方法和接口 BOM:描述了与浏览器交换的方法和接口
阅读全文
摘要:应用系统架构设计 我们在做着表面上看似是对于各种不同应用的开发,其实背后所对应的架构设计都是相对稳定的。在一个好的架构下编程,不仅对于开发人员是一件赏心悦目的事情,更重要的是软件能够表现出一个健康的姿态;而架构设计的不合理,不仅让开发人员受苦受难,软件本身的生命周期更是受到严重威胁。这里我将针对在微软dotNet平台上做应用开发的系统架构设计做一个粗浅的讨论。 总体设计图 表示层 表示层由UI(...
阅读全文
摘要:out 关键字会导致参数通过引用来传递。这与 ref 关键字类似,不同之处在于 ref 要求变量必须在传递之前进行初始化。若要使用 out 参数,方法定义和调用方法都必须显式使用 out 关键字。例如:class OutExample{ static void Method(out int i) { i = 44; } static void Main() { int value; Method(...
阅读全文
摘要:ref 关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数的任何更改都将反映在该变量中。若要使用 ref 参数,则方法定义和调用方法都必须显式使用 ref 关键字。例如:classRefExample{staticvoidMethod(refinti){i=44;}staticvoidMain(){intval=0;Method(refval);//valisnow44}}传递到 ref 参数的参数必须最先初始化。这与 out 不同,后者的参数在传递之前不需要显式初始化。尽管 ref 和 out 在运行时的处理方式不同,但在编译时的处理方式相同。因此,如果一个方法采用
阅读全文
摘要:自动实现的属性当属性访问器中不需要其他逻辑时,自动实现的属性可使属性声明变得更加简洁。当您如下面的示例所示声明属性时,编译器将创建一个私有的匿名后备字段,该字段只能通过属性的 get 和 set 访问器进行访问。示例下面的示例演示了一个具有某些自动实现的属性的简单类:class LightweightCustomer{ public double TotalPurchases { get; set...
阅读全文
摘要:Lambda 表达式“Lambda 表达式”是一个匿名函数,它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型。所有 Lambda 表达式都使用 Lambda 运算符 =>,该运算符读为“goes to”。该 Lambda 运算符的左边是输入参数(如果有),右边包含表达式或语句块。Lambda 表达式 x => x * x 读作...
阅读全文
摘要:匿名类型 匿名类型提供了一种方便的方法,可用来将一组只读属性封装到单个对象中,而无需首先显式定义一个类型。类型名由编译器生成,并且不能在源代码级使用。这些属性的类型由编译器推断。下面的示例演示一个用两个分别名为 Amount 和 Message 的属性初始化的匿名类型。var v = new { Amount = 108, Message = "Hello" };匿名类型通常用在查询表达式的 ...
阅读全文
摘要:对象和集合初始值设定项使用对象初始值设定项可以在创建对象时向对象的任何可访问的字段或属性分配值,而无需显式调用构造函数。private class Cat{ // Auto-implemented properties public int Age { get; set; } public string Name { get; set; }}static void MethodA(){ // Ob...
阅读全文
摘要:隐式类型的本地变量和数组 a.隐式类型的局部变量 可以赋予局部变量推断“类型”var 而不是显式类型。var 关键字指示编译器根据初始化语句右侧的表达式推断变量的类型。推断类型可以是内置类型、匿名类型、用户定义类型、.NET Framework 类库中定义的类型或任何表达式。有关如何使用 var 初始化数组的更多信息,请参见隐式类型的数组(C# 编程指南)。下面的示例演示...
阅读全文