C# 语法对比
2014年03月29日 13:31GMT+8
语法差异:
-
c# 使用 namespace 来管理组织类, haxe 则使用类的所在目录(package) 方式
c# 的文件名可随意, 而 haxe 的文件名则作为模块名, 路径则为包名.
-
c# 可使用 struct 用于创建紧凑数据(从栈上分配), haxe 没有相关功能,
虽然 haxe 中的”匿名结构”看上去非常像 struct , 但”匿名结构”是一种低性能的 Dynamic 结构数据,
c# 中的 struct 无法被 sizeof 识别, 限制非常多,当成 传值类型 的 tuple 来用就算了。
而且虽然有 fixed
关键字能在 struct 中定义固定数组, 但属于 unsafe 级别的操作。
-
对于 c# 中的固定数组, 在 haxe 中 haxe.ds.Vector 是个类似固定数组的容器
-
c# 中有 goto 跳转, 而 haxe 中没, 并且 haxe 中的 break 只能跳出当前循环。
-
vs 中 ctrl+K...ctrl+F
可以格式化选择了的代码, 而 haxe 没有相关工具。
links
vscode
c# 中文文档
HelloWorld
C#
Haxe
基础类型
C#
Haxe
变量定义
c# 中有的函数类型可以声明为”引用”(ref 和 out), 而 haxe 中不存在引用
c# 中的”委托”是用来定义类型的, 因此它的位置和其它定义类型的关键字一样例如 struct
haxe 中没有“委托”的概念
C#
Haxe
构造函数和方法重载
C#
Haxe
interface
c# 的 interface 不可以包含字段, 但是可以定义成 getter/setter, 只是都必须为 public.
haxe 中同样也只能有 getter/setter
C#
Haxe
泛型约束
c# 中对泛型的定义二者的语法都类似. 下边只描述泛型约束的语法差异
C#
Haxe
内插字符串
C#
Haxe
GetterSetter
C#
Haxe
循环
C#
Haxe
迭代器
C#
Haxe
枚举
-
在 cs 中使用逗号”,” 分隔, 而 haxe 中则使用分号”;”
-
cs 中引用枚举必须带上全名, 而 haxe 直接使用其值.
C#
Haxe
空的