수색…


비고

using 키워드는 지시문 (이 항목)과 명령문입니다.

using 문 (즉, IDisposable 객체의 범위를 캡슐화하고 해당 범위 외부에서 객체가 깨끗하게 처리되도록 보장)는 Using Statement 를 참조하십시오.

기본 사용법

using System;
using BasicStuff = System;
using Sayer = System.Console;
using static System.Console;  //From C# 6

class Program
{
    public static void Main()
    {
        System.Console.WriteLine("Ignoring usings and specifying full type name");
        Console.WriteLine("Thanks to the 'using System' directive");
        BasicStuff.Console.WriteLine("Namespace aliasing");
        Sayer.WriteLine("Type aliasing");
        WriteLine("Thanks to the 'using static' directive (from C# 6)");
    }
}

네임 스페이스 참조

using System.Text;
//allows you to access classes within this namespace such as StringBuilder
//without prefixing them with the namespace.  i.e:

//...
var sb = new StringBuilder();
//instead of
var sb = new System.Text.StringBuilder();

네임 스페이스와 별칭 연결

using st = System.Text;
//allows you to access classes within this namespace such as StringBuilder
//prefixing them with only the defined alias and not the full namespace.  i.e:

//...
var sb = new st.StringBuilder();
//instead of
var sb = new System.Text.StringBuilder();

클래스의 정적 멤버에 액세스

6.0

특정 형식을 가져오고 형식 이름으로 정규화하지 않고 형식의 정적 멤버를 사용할 수 있습니다. 다음은 정적 메소드를 사용하는 예제입니다.

using static System.Console;

// ...

string GetName()
{
    WriteLine("Enter your name.");
    return ReadLine();
}

그리고 이것은 정적 속성과 메서드를 사용하는 예제를 보여줍니다.

using static System.Math;

namespace Geometry
{
    public class Circle
    {
        public double Radius { get; set; };

        public double Area => PI * Pow(Radius, 2);
    }
}

충돌을 해결하기 위해 별칭 연결

동일한 이름 클래스 (예 : System.RandomUnityEngine.Random )를 가질 수있는 여러 네임 스페이스를 사용하는 경우 별칭을 사용하여 Random 이름이 호출에서 전체 네임 스페이스를 사용하지 않고 둘 중 하나에서 온 것으로 지정할 수 있습니다 .

예를 들면 :

using UnityEngine;
using System;

Random rnd = new Random();

이로 인해 컴파일러는 새 변수를 평가할 Random 변수를 알 수 없습니다. 대신 다음을 수행 할 수 있습니다.

using UnityEngine;
using System;
using Random = System.Random;

Random rnd = new Random();

이렇게하면 다음과 같이 정규화 된 네임 스페이스로 다른 클래스를 호출 할 수 없습니다.

using UnityEngine;
using System;
using Random = System.Random;

Random rnd = new Random();
int unityRandom = UnityEngine.Random.Range(0,100);

rndSystem.Random 변수이고 unityRandomUnityEngine.Random 변수입니다.

별칭 지정 문 사용

네임 스페이스 또는 유형에 대한 별칭을 설정하려면 using 을 사용할 수 있습니다. 자세한 내용은 여기 에서 확인할 수 있습니다.

통사론:

using <identifier> = <namespace-or-type-name>;

예:

using NewType = Dictionary<string, Dictionary<string,int>>;
NewType multiDictionary = new NewType();
//Use instances as you are using the original one
multiDictionary.Add("test", new Dictionary<string,int>());


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow