Lua和C#比较

|--------|--------------|--------------|
| | C# | Lua |
| 语言类型 | 编译型语言 静态类型语言 | 解释型语言 动态类型语言 |
| 代码执行顺序 | 无要求 | 从上到下执行 |

代码注释

|------|---------|--------------------------------------------|
| | C# | Lua |
| 单行注释 | // | -- |
| 多行注释 | /* */ | --\[ --], --\[ ]--,--\[ ]-- |
| 文档注释 | /// | 无 |

代码格式

|-----------|------|-----------------------|
| | C# | Lua |
| 分隔符 | 是必须的 | 不是必须的 |
| 指定变量类型 | 是必须的 | 不能指定,并且声明后还可以被赋不同类型的值 |
| 是否有char类型 | 有 | 没有 |

字符串

|------------------------|---------|-----------------------------|
| | C# | Lua |
| 字符串的声明 | 使用双引号"" | 使用双引号""或单引号''或双方括号\[ ] |
| 是否有char类型 | 有 | 没有 |
| 是否可以通过索引器\[\]访问字符串中的字符 | 可以 | 不可以 |
| 字符串的连接 | + | .. |

表

C#默认初始索引是从0开始,Lua默认是以1开始

函数

|------|-----------|-----------|
| | C# | Lua |
| 多返回值 | 借助ref或out | 可以支持 |
| 多参数 | params关键字 | 使用变长参数... |

运算符

相同

|-------|------------------|
| 算数运算符 | +,-,*,/ |
| 关系运算符 | <,>,<=,>=,== |
| 赋值运算符 | = |
| 移位运算符 | <<,>> |

不同

|---------------|-----------------|-------------|
| | C# | Lua |
| 复合赋值运算符 | +=,-=,*=,/=,%= | 无 |
| 关系运算符 | != | ~= |
| 逻辑运算符 | &&,||,! | and,or,not |
| 整除除法(floor除法) | 无 | //(四舍五入取整数) |
| 自增自减 | ++,-- | 无 |
| 条件运算符 | ?: | 无 |

C#中^代表异或运算符,在Lua中代表幂运算

面向对象

|-----|---------------------|-----------------------|
| | C# | Lua |
| 封装性 | 类和访问修饰符 | table local |
| 继承 | 继承基类实现单继承,继承接口实现多继承 | table 元方法__index方法 |
| 多态 | 重载和重写 | 不支持重载,通过table,元方法表现多态 |

相关推荐
泛凡(Linyongui)14 小时前
基于 CW32L010 的智能厨卫调温旋钮方案--低成本 EC21 编码旋钮全解析
单片机·嵌入式硬件·c#
暴走约伯16 小时前
【VFX工具链源码拆解 02】告别机械劳动(上):一键统改百个子粒子颜色与批量重命名
3d·unity·c#·材质
信息安全失业大专人员17 小时前
每日了解一个智能体-WorkBuddy
开发语言·ai·c#·智能体
呆呆敲代码的小Y18 小时前
【实战精选面试题】C# 面试题详细解答,按难易程度排序
android·java·游戏·c#·游戏开发·unity面试题·c#面试题
淡海水19 小时前
09-01-内存-Unity资源生命周期全景
unity·c#·游戏引擎·.netcore·gc
努力努力再努力wz20 小时前
【Lua入门系列】从 Table 到元表与元方法:一文理解 Lua 的行为扩展机制
开发语言·junit·lua
椒颜皮皮虾྅1 天前
让 C# 读懂整张图:DeploySharp 驱动 PaddleOCR v4/v5/v6,打通 OCR 全流程
开发语言·人工智能·深度学习·学习·c#·ocr·cuda
昂好的day1 天前
C# 同步异步与多线程:Thread / Task / 线程池一次讲透(上篇)
开发语言·windows·c#
吃一碗粉只付一碗钱1 天前
12-给SPA友好的401和403响应
c#·状态模式
caimouse2 天前
MonoDevelop 编译用户应用程序时调用的是哪个编译器
c#