运算符包括: @ not ^ * / div mod and shl shr as + - or xor = > < <> <= >= in is 其中 @ not ^ 是一元运算符; + - 有时是一元,有时是二元; 其他都是二元运算符. 一元运算符在运算数的前面, ^ 例外,也可以在后面,如: P^; 二元运算符在运算数中间. 运算符的行为随运算数的类型而变,譬如: not , 面对整数是对位求反; 面对布尔是逻辑非运算. 除了 ^ is in,其它运算可应用在Variant(变体类型)上. 算术运算符: + - * / div mod 布尔运算符: not and or xor 位运算符: not and or xor shl shr x shl y = x * 2^y s shr y = x / 2^y 如果x是一个integer, 那么 x shl 40 = x shl 8, 因为integer的大小是32位. 字符串运算符: + 指针运算符: + - ^ = <> + - 一般只对字符指针; 无类型指针(Pointer)在 ^ 前必须进行类型转换. 集合运算符: + - * <= >= = <> in +(并集) -(差集) *(交集) <=(子集) >=(超集) 关系运算符: = <> < > <= >= 两个运算数必须类型一直(整数和实数除外); 对字符和字符串,是比较每个字符在字符集中的顺序; 其中 = <> <= >= 可用于集合; = <> 可用于指针和类与类型; < > <= >= 可用于PChar. 类运算符: as in as也用于接口; 关系运算符 = <> 也用于类型. @运算符: @ @返回变量/函数/过程或方法的地址,就是指向运算数的指针; {$T-}(编译器默认)时,@X返回通用指针; {$T+}@X返回X的类型指针; @F(F代表一个过程或方法),返回F的入口点,@F总是Pointer; 要获取类的方法的指针,必须用类名来限定方法: @TMyCalss.Method 运算符优先级: @ not * / div mod and shl shr as + - or xor = <> < > <= >= in is 另外: is比较符是用在对象之间; 其他类型之间的比较用 = . Inc/Dec 分别类似其他语言中的++/--, 如: Inc(i); Dec(i); Inc(i,3); Dec(i,3);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧