C #에서`default` 키워드를 사용하는 것은 무엇입니까?
default
C #에서 키워드 사용은 무엇입니까?- 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
'ProgramingTip' 카테고리의 다른 글
jQuery로 div를 숨기는 방법? (0) | 2020.11.06 |
---|---|
단일 git 커밋에 대해 합의 사용자 재정의 (0) | 2020.11.06 |
strcpy 대 memcpy (0) | 2020.11.06 |
jQuery 애니메이션 스크롤 (0) | 2020.11.06 |
SpannableStringBuilder는 여러 글꼴 / 텍스트 크기 등으로 많은을 생성합니다. 예? (0) | 2020.11.06 |