Unity中C#代码报错:public bool empty => tile == null语法问题求解
错误原因
你使用的public bool empty => tile == null;是C# 6.0新增的表达式体属性语法,作用是简化只读属性的定义,功能完全等价于:
public bool empty { get { return tile == null; } }
报错的核心原因是你的Unity项目配置的C#语言版本低于6.0,IDE无法识别这个新语法。
解决方法
有两种可选方案:
- 升级项目的C#版本
- 打开Unity编辑器,依次进入
Edit > Project Settings > Player - 在
Other Settings的Configuration区域,将Scripting Runtime Version设置为.NET 4.x Equivalent或更高版本 - 确认
Scripting Backend为Mono或.NET(IL2CPP也支持该语法,需对应适配版本) - 重启Unity和关联IDE,语法即可正常识别
- 打开Unity编辑器,依次进入
- 改用兼容旧版本的语法
如果不想升级版本,直接替换为传统的只读属性写法:public bool empty { get { return tile == null; } }
内容的提问来源于stack exchange,提问作者Abdelbasset Belaid
相关产品推荐
相关产品推荐

