gpt4 book ai didi

c# - 在 Unity 中简化使用语句

转载 作者:行者123 更新时间:2023-12-03 20:18:18 25 4
gpt4 key购买 nike

我使用的是 Unity 2019.2.18f 和 VS 2019 16.4.3(CSC 版本 3.4.1-beta4-19610-02)。我对 Unity 和 C# 都很陌生。

我写了一些这样的代码:

using (UdpClient client = new UdpClient(...)) {
...
}

VS 2019 建议该语句可以简化为:
using UdpClient client = new UdpClient(...);
...

我猜那是 C# 8.0 thing 。但是,当我这样做时,回到 Unity 控制台,它提示 using 语句中缺少括号:
Assets\Scripts\NavioRemote.cs(106,19): error CS1003: Syntax error, '(' expected
Assets\Scripts\NavioRemote.cs(106,101): error CS1026: ) expected

但是,VS 没有报告任何错误。

我有两个问题:
  • 为什么 Unity 无法编译它而 VS 认为它是正确的?
  • 有没有办法让 Unity 接受这种语法?
  • 最佳答案

    Why is Unity failing to compile this while VS thinks it's correct?



    在每个环境中,您都使用不同的语言版本进行编译。 Unity 最多只支持 C# 7.3,而 VS 2019 支持一切。您的代码使用的语言功能需要 C# 8.0。

    在 VS2019 中,转到项目的属性,构建选项卡,您将在其中看到“高级”按钮。有一个下拉菜单可以选择语言版本。我相信它默认为“最新”,并且您可能在列表中有 C# 8。如果您将其更改为 7.3 或更低版本,您将看到相同/相似的行为。

    Is there a way to make Unity accept this syntax?



    不可以。Unity 目前最多只支持语言版本 7.3。但是,如果您等待几个月或几年,或者时间旅行,那么 Unity 会迎头 catch 。

    关于c# - 在 Unity 中简化使用语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59791838/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com