网站如何更换域名购物网站常用功能模块介绍
文章目录
- 一、概述
 - 二、静态导入
 - 三、异常筛选器
 - 四、nameof 运算符
 
 注意:在此仅提及 Unity 开发中会用到的一些功能和特性,对于不适合在 Unity 中使用的内容会忽略。
一、概述
 C#6 的新增功能和语法主要包含:
- =>运算符(C# 进阶内容)
 - Null 传播器(C# 进阶内容)
 - 字符串内插(C# 进阶内容)
 - 静态导入
 - 异常筛选器
 - nameof 运算符
 
二、静态导入
-  
用法:在引用命名空间时,在 using 关键字后面加入 static 关键词。
 -  
作用:无需指定类型名称即可访问其静态成员和嵌套类型。
 -  
好处:节约代码量,可以写出更简洁的代码。
 
using static UnityEngine.Mathf; // 静态导入 Mathf 类
using static Test3;             // 静态导入 Test3 类public class Test3
{public class Test4 { }public static void TTT() {Debug.Log("123");}
}public class Lesson7 : MonoBehaviour
{void Start() {Max(10, 20);           // Mathf.Max(10, 20);TTT();                 // Test3.TTT();Test4 t = new Test4(); // Test3.Test4 t = new Test3.Test4();}
}
 
三、异常筛选器
-  
用法:在异常捕获语句块中的 Catch 语句后通过加入 when关 键词来筛选异常
 when(表达式)该表达式返回值必须为 bool 值,如果为 ture 则执行异常处理,如果为 false,则不执行。
 -  
作用:用于筛选异常
 -  
好处:帮助我们更准确的排查异常,根据异常类型进行对应的处理
 
try {// 用于检查异常的语句块
}
catch (System.Exception e) when (e.Message.Contains("301")) {// 当错误编号为301时  作什么处理print(e.Message);
}
catch (System.Exception e) when (e.Message.Contains("404")) {// 当错误编号为404时  作什么处理print(e.Message);
}
catch (System.Exception e) when (e.Message.Contains("21")) {// 当错误编号为21时  作什么处理print(e.Message);
}
catch (System.Exception e) {// 当错误编号为其它时  作什么处理print(e.Message);
}
 
四、nameof 运算符
- 用法:nameof(变量、类型、成员)通过该表达式,可以将他们的名称转为字符串
 - 作用:可以得到变量、类、函数等信息的具体字符串名称,方便重构,避免改字符串中的内容
 
int i = 10;
List<int> list = new List<int>() { 1, 2, 3, 4 };print(nameof(i));              // "i"
print(nameof(List<int>));      // "List"
print(nameof(List<int>.Add));  // "Add"
print(nameof(UnityEngine.AI)); // "AI"
print(nameof(list));           // "list"
print(nameof(list.Count));     // "Count"
print(nameof(list.Add));       // "Add"
