导入命名空间
使用list需要导入 System.Collections.Generic;
这个命名空间
using System.Collections.Generic;
using UnityEngine;
public class UsingTest : MonoBehaviour
{
void Start()
{
List<int> intlist = new List<int>();
}
}
省略类名
using UnityEngine;
using static UnityEngine.Mathf;
public class UsingTest : MonoBehaviour
{
private void Start()
{
int a = 10;
int b = 20;
int c = Mathf.Max(a, b);
c =Max(a, b);//这里在第二行引用了mathf,所以可以省略mathf,但是要注意重名
Debug.Log(c);
}
}
项目的全局引用using 使用gloal
对C#的语言有要求,好像是要C# 6.0以上上才可以,
当不支持的时候会提示
错误 CS8652 功能“全局 using 指令”当前为预览版且*不受支持*。要使用预览版功能,请使用“预览”语言版本。
//放到代码的开头,这样在全局都可以不添加这个命名空间
global using static UnityEngine.Mathf;
global using System.Collections;
global using System.Collections.Generic;
global using UnityEngine;
全局的隐式引用
感觉是这个不常用,就是很偏门,折磨人采用的东西。
不写。
使用命名空间的别名
第二行将System 的别名设置为sys,在这个文件里可以使用sys代替system
using UnityEngine;
using sys = System;
public class UsingTest : MonoBehaviour
{
private void Start()
{
string path = "";
var c = sys.IO.File.Exists(path);
}
}
省内存,用完就会将对象销毁
using System.IO;
using UnityEngine;
public class UsingTest : MonoBehaviour
{
private void Start()
{
using var strram = new MemoryStream();
using var reader = new StreamReader(strram);
reader.ReadToEnd();
}
}