Skip to content
lightszero edited this page Dec 1, 2014 · 5 revisions

语法同C#

但是有一些不支持

注释

支持//

不支持 /* */

基本类型

支持int uint bool string float double 和其他整数类型

支持在代码中直接插入整数小数字符串

不支持在代码中使用0x形式,不支持.5形式,必须写0.5

支持char的定义‘a’;

变量和定义

同c#定义变量方式,先定义再使用,可以在定义同时赋值。

int i;  
int j=0;  
int k=i+1;  
bool b1;  
bool b2=true;
bool b3=false;  

数学计算

基本同c#


支持 

+ - * / % 

五种数学计算

支持 

+= -= /= *= %= 

五种自运算 

支持 

++ -- 

两种自增运算,只支持变量在左侧 

++i 不支持  i++ 支持 

支持 

> >= < <= != == && || 

八种逻辑运算

支持! 取反

支持三目运算?:

不支持位运算

循环

支持 for foreach while dowhile ,支持continue,break,return

支持 if,可以if else嵌套

不支持switch goto

命名空间

C#Light不支持命名空间

可以写

Debug.Log();

不可以写

UnityEnging.Debug.Log();

头部可以写using

对象调用

注册了类型以后

new 支持,不支持new的同时初始化成员

is as 和 强制类型转换 支持

成员变量访问支持

成员函数调用支持

向类型注册事件代理支持

支持对象的[] index访问

静态支持

可以在脚本里编写class

数组

支持

new int[3]

new int[]{1,2,3}

两种语法

任何类型数组都必须注册子类型和数组类型

泛型数组

作为类型支持

比如可以将List

Dictionary<int,string> 注册成一个类型总体使用

泛型

支持

委托 支持脚本编写函数注册给程序的委托接口

A.Test+=Func1;

可以给委托赋值

不支持 将lambda 表达式赋值给var变量

匿名函数

支持lambda表达式

异常处理

支持 try catch throw

继承

可以继承脚本中编写的interface

不支持class继承

get/set

只支持自动实现

int i
{
  get;
  set;
}