ProgramingTip

C #에서`default` 키워드를 사용하는 것은 무엇입니까?

bestdevel 2020. 11. 6. 18:58
반응형

C #에서`default` 키워드를 사용하는 것은 무엇입니까?


  1. defaultC #에서 키워드 사용은 무엇입니까?
  2. C # 3.0에서 도입 되었습니까?

default는 여러 용도가 있기 때문에 키워드는 상황이다. 유형의 노래를 반환하는 최신 C # 2 의미를 참조하고 생각합니다. 참조 유형의 경우이 null값 유형의 경우 새 인스턴스가 모두 0이됩니다.

내가 의미하는 바를 몇 가지 예는 다음과 같습니다.

using System;

class Example
{
    static void Main()
    {
        Console.WriteLine(default(Int32)); // Prints "0"
        Console.WriteLine(default(Boolean)); // Prints "False"
        Console.WriteLine(default(String)); // Prints nothing (because it is null)
    }
}

기본값을 사용하여 a의 언어를 사용할 수도 있습니다 Generic Type.

public T Foo<T>()
{
    .
    .
    .
    return default(T);
}

가장 일반적인 용도는 제네릭입니다 . "일반"유형 (예 : 등)에서는 작동 하지만 default(string)손으로 코드에서는 매우 드뭅니다.

그러나 코드 생성을 수행 할 때이 방법을 사용합니다. 다른 모든 작업을 하드 코딩 할 필요가 없음을 의미합니다. 유형을 생성

default(TypeName)하고있는 코드에서 사용할 수 있습니다.

제네릭에서 고전적인 사용법은 다음과 가능 TryGetValue합니다.

public static bool TryGetValue(string key, out T value) {
    if(canFindIt) {
        value = ...;
        return true;
    }
    value = default(T);
    return false;
}

여기서 우리 메소드를 종료하기 위해 값을 할당하지만 호출하는 것이 무엇인지 실제로 신경 쓰지합니다. 이를 생성자 제약 조건과 대조 할 수 있습니다.

public static T CreateAndInit<T>() where T : ISomeInterface, new() {
    T t = new T();
    t.SomeMethodOnInterface();
    return t;
}

기본 키워드는 사용 목적에 따라 사용합니다.

첫 번째 사용법은 C # 1.0 이후로 사용할 수있는 스위치 문의입니다.
http://msdn.microsoft.com/en-us/library/06tc147t(VS.80).aspx

두 번째 사용법은 제네릭 다수에 있습니다. 제네릭 형식 인스턴스를 초기화 할 때 C # 2.0부터 사용할 수 있습니다.
http://msdn.microsoft.com/en-us/library/xwth0h0d(VS.80).aspx


"default"일반 키워드 때문에 (switch-case와는 해당) 클래스는 클래스 및 기타 유형과 같은 클래스 인스턴스를 초기화하는 데 도움이됩니다. . 코드에서 실수를 방지하기위한 사전 방법으로 가치를 제공합니다.


제네릭 및 코드 생성은 거의 사용되지 않으며, 반향하고 강조합니다.

초기화로 초기화해야하는 경우 (이미 내 책에서 의심스러운 냄새가 난다) 명확해야합니다. 그냥 해.

참고 URL : https://stackoverflow.com/questions/1727346/what-is-the-use-of-default-keyword-in-c

반응형