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,元方法表现多态 |

相关推荐
北域码匠10 小时前
PID 控制算法完整详解(C# 原生实现,无第三方库)
c#·pid控制·工控开发·闭环控制·自动控制算法·数字pid·增量式pid
离陌在学C#10 小时前
C# 重载与重写:深入理解面向对象编程的核心概念
java·c#
asdzx6713 小时前
Java 实战:基于 Spire.Doc 高效提取 Word 文档文本与图片
java·c#·word
小金子会发光14 小时前
C# WinForms 基于 Socket 手搓 Modbus TCP 调试助手(支持 01/02/03/04/05/06/0F/10)
c#·socket·plc·modbus tcp·工业通信
慧都小妮子15 小时前
PDF图片提取总“褪色“?Aspose.PDF 多层级提取能力详解
pdf·c#·.net·图片处理·文档处理·色彩空间
-银雾鸢尾-17 小时前
C#中的反射关键类-Type
开发语言·c#
MC皮蛋侠客18 小时前
Redis 系列(七):事务、Pipeline 与 Lua 脚本——从原子性到 Functions
数据库·redis·lua
淡海水19 小时前
15-07-YooAsset面试篇-Unity性能优化与内存管理
java·unity·面试·性能优化·c#·游戏引擎
离陌在学C#19 小时前
C# 多态:面向对象编程的核心特性详解
开发语言·c#
一念春风20 小时前
文件透明加密(C、C#)
c语言·c#·wpf