C#의 기본값은 일반적으로 스위치 문이나 일반 코드에서 사용됩니다. 스위치 문에서는 대소문자가 아닌 일치를 처리하는 기본 상황입니다. 제네릭에서 default를 사용하는 경우에는 두 가지 상황이 있습니다. 참조 유형에서는 제네릭 유형이 null로 초기화되고, 값 유형에서는 제네릭 유형이 0
default 키워드를 switch 문이나 제네릭에서 사용할 수 있습니다. 코드 사용.
switch 문: 기본 레이블을 지정합니다.
일반 코드: 유형 매개변수의 기본값을 지정합니다. 참조 유형의 경우 Null, 값 유형의 경우 0
switch 문
switch 문에서 스위치 값과 일치하는 Case 표현식이 없으면 선택적 기본 레이블 뒤에 오는 문으로 제어가 전달됩니다. 기본 레이블이 없으면 제어가 스위치 외부로 전달됩니다.
switch (key) { case 1: Console.WriteLine("1"); break; case 2: Console.WriteLine("2"); break; default: Console.WriteLine("Sorry, no one matches!"); break; }
Generic Code
generic 클래스 및 generic 메서드에서
T가 참조 유형인지 값 유형인지 미리 알 수 없는 경우 매개변수화된 유형 T에 기본값을 할당하는 방법.
T가 값 유형인 경우 숫자 값이든 구조이든 상관없습니다.
매개변수화된 유형 T의 변수 t가 있는 경우 t = null 문은 T가 참조 유형인 경우에만 유효합니다. t = 0 문은 T가 구조체가 아닌 숫자 유형인 경우에만 정상적으로 사용할 수 있습니다. 해결책은 참조 유형의 경우 null을 반환하고 숫자 유형의 경우 0을 반환하는 default 키워드를 사용하는 것입니다. 구조의 경우 이 키워드는 구조가 값 유형인지 참조 유형인지에 따라 0 또는 비어 있는 것으로 초기화된 각 구조 멤버를 반환합니다.
public class GenericClass<T> { public T Function(arg) { T temp = default(T); if (arg != null) temp = arg.Favs; return temp; } //... } 注意:不仅可以在定义泛型类或者泛型方法的代码中可以使用default关键字,甚至在任何地方都可以使用该关键字 如下面代码。 static void Main(string[] args) { Console.WriteLine(default(int)); Console.WriteLine(default(string)); Console.WriteLine(default(Color)); }
출력:
行1: 0 行2: 行3: Color [Empty]
위 내용은 C#에서 기본값은 무엇을 의미하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!