C# 错误:”error CS1525: Invalid expression term ‘>'” in Unity 2022
问题描述
在Unity中出现错误”error CS1525: Invalid expression term ‘>'”,在Visual Studio中的错误为:
Severity Code Description Project File Line Suppression State Error CS8400
Feature 'relational pattern' is not available in C# 8.0.
Please use language version 9.0 or greater.
这是错误的那一行:
if (sr is { Length: > 0 })
这里是完整的if条件:
if (layeredBlock == null || !layeredBlock.AnyLayersExist())
{
if (sr is { Length: > 0 })
{
LevelManager.Instance.DestroySpriteEvent(sr[0].sprite, transform.position, this, null);
}
}
解决方案
if (sr.Length > 0)
是C# 9及更高版本的特性。
如果您需要检查 sr
是否非空,请使用以下其中一个检查:
if (sr.Count > 0)
if (sr.Any())
另一种解决方法是升级 .NET
版本。