10月 10

数据类型关键字写在前面。
数据类型更多些,更琐碎。
float 类型的值还要加个F字符标识。
变量声明不是必须要var关键字 。
用var  VariableName = VariableValue的形式,虽然前面没写数据类型,但会根据值的内容自动变成相应类型的变量。
方法声明不用function关键字。
支持声明形参不同的同名方法,叫方法重载。AS用…Arg …Rest能模拟方法重载。
方法支持用形参名字加值的形式来传实参,这样就可以不按方法声明的形参顺序传实参。
switch里case后跟的值,不支持浮点数,不支持变量,两个case不能是一样的值。
for括号里声明的变量,作用域只在for内部,AS3则在for外的方法内。
try里面有checked和unchecked用法。
类有partial分部类,Anonymou匿名类。
namespace对应as3的package,和AS3里的namespace不是一个概念。
基元类型即值类型通过语法T?可转换为可空类型。 语法T?是Nullable<T>的简写,例如Nullable<int> i = null; 或int? i = null。
方法参数有ref out 关键字。 方法参数用ref和out可以传递值类型或引用类型变量的地址,即在方法内更改参数的数据时,作为此参数传入的外部变量也会同样更改。
方法传参的变量必须赋值初始化,用out可以不初始化。
数据类型多了两个大的值类型,枚举enum和结构体,其实就是为了节约内存,只存放在栈里的值类型,但是有基本类的功能。枚举类似常量类。
Array数组类似AS的Vector,强类型,固定长度。元素赋值是用大括号{},不是中括号[]。更强大的多维数组。还有更更强大的集合类型。集合类似AS里的Array和Dictionary的混合及定制。
方法构建里的params 关键字类似AS的…Arg 。
继承和接口直接用:,没有extends   implements关键字。
调父类用base,AS用Super。
要复写父类方法,父类方法还要加virtual关键字,AS不用。
扩展方法,主要是用于C#自有类的扩展,静态类的方法参数用this关键字加要扩展的类名。
抽象类。AS没有抽象类。

written by panhezeng \\ tags:

Leave a Reply

Me

点这和我talk,panhezeng@gmail.com