C#中对于using的使用方式

导入命名空间

使用list需要导入 System.Collections.Generic;这个命名空间

using System.Collections.Generic;
using UnityEngine;
 
public class UsingTest : MonoBehaviour
{
     void Start()
    {
        List intlist = new List();
    }
}


省略类名

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();
    }

}



你可能感兴趣的:(#,C#,c#,开发语言)