6 个现代 C# 功能,用于更简洁的 Unity 代码

本教程介绍了6个C#(7.0以后)的新特性,包括开关表达式、属性模式、类型模式、恒定模式、关系模式和逻辑模式,这些特性有助于在Unity中编写更简洁、易读的代码。通过对比传统写法和新特性的使用,阐述了如何在Unity 2021.3.4f1及更高版本中利用C# 8和9的功能优化代码。
摘要由CSDN通过智能技术生成

自 C# 7.0 以来,语言中添加了许多有助于我们编写更少代码的代码改进。 本教程将重点介绍可以帮助我们编写更简洁易读的代码的六个新特性,以及我们如何在 C# for Unity 中使用这些特性。

这些是教程部分:

  • 先决条件

  • 设置我们的 Unity 项目

  • 教程结构

  • Unity 中的 C# 功能支持

  • 开关表达式

  • 属性模式

  • 类型模式

  • 恒定模式

  • 关系模式

  • 逻辑模式

  • 结论

先决条件

遵循本教程需要以下先决条件:

  • Unity基础知识

  • 以前在 Unity 中编写 C# 脚本的经验

设置我们的 Unity 项目

首先,我们需要创建我们的 Unity 项目。 对于本教程,我们将使用 2021.3.4f1 版本,在我撰写本文时,它是最新的 LTS Unity 版本。

在项目模板列表中,选择 2D(core) (最简单的),为其命名,然后单击 创建项目 按钮。

项目启动后,创建一个名为 Scripts在 - 的里面 Assets文件夹。 在本教程中,我们将使用它们来组织我们的项目。

教程结构

对于如何使用新 C# 功能的每个示例,我们将首先看看它之前是如何完成的,然后我们如何使用新功能编写越来越少可读性的代码。

下面的类只是在整个教程中用于所有示例的存根。 您可以将它们添加到脚本中 Scripts文件夹:

// GAME MODE.
public enum GameMode
{
    TimeAttack,
    Survive,
    Points
}
​
// ENEMIES.
public abstract class Enemy
{
    public bool IsVisible { get; set; }
    public bool HasArmor { get; set; }
}
 
public class Minion : Enemy { }
public class Troll : Enemy { }
public class Vampire : Enemy { }
​
public class Zombie : Enemy { }
​
​
// WEAPONS.
public abstract class Weapon { }
public class Stake : Weapon { }
public class Shotgun : Weapon { }

Unity 中的 C# 功能支持

在 C# 版本 8 和 9 中,该语言添加了许多新功能。 您可以在以下链接中阅读每个版本的完整功能列表:

  • C# 8.0 中的新功能

  • C# 9.0 中的新功能

Unity 中的 C# 8 和 9 功能:缺少什么?

Unity 对 C# 8 的支持 已从 2020.2 版本开始,C# 9 已从 2021.2 版本开始。

请注意,并非 Unity 支持所有 C# 8 和 9 功能,例如:

  • 默认接口方法

  • 指数和范围

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pxr007

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值