너 C# 완벽해?/책읽고 작성하기
C# Default 와 Typeof()
대마법사(진)
2025. 1. 15. 22:03
오늘의 노래 : https://www.youtube.com/watch?v=oRg-7iku6Ok
Default
- Default 연산자는 특정 데이터 형식의 기본값을 제공한다.
- 값형식, 참조형식 모두 사용가능하다.
internal class Class2
{
private List<int> list;
static void Main(string[] args)
{
int a = 10;
string? b = "Test";
a = default;
b = default;
Console.WriteLine("a Default = " + a);
Console.WriteLine("B Default = " + b);
}
}
결과
a Default = 0
B Default =
Typeof(T)
해당 객체의 타입을 얻는다.
테스트를 해보면...
namespace Test{
internal class Class2
{
private List<int> list;
static void Main(string[] args)
{
Console.WriteLine(typeof(int));
Console.WriteLine(typeof(string));
Console.WriteLine(typeof(List<>));
Console.WriteLine(typeof(List<int>));
Console.WriteLine(typeof(People);
}
}
public class People
{
public string Name { get; set; }
public int Age { get; set; }
}
}
결과
System.Int32
System.String
System.Collections.Generic.List`1[T]
System.Collections.Generic.List`1[System.Int32]
Test.People
Namespace
.ClassName
형식으로 반환된다.
특징 | typeof |
default |
---|---|---|
역할 | 컴파일 타임에 특정 형식의 메타데이터를 가져옵니다. | 특정 데이터 형식의 기본값을 반환합니다. |
반환 값 | 형식의 메타데이터 객체(Type ) |
데이터 형식의 기본값 (예: 0 , false , null ) |
사용 목적 | 런타임에 형식을 확인하거나 리플렉션 작업에 사용 | 변수 또는 데이터 초기화 시 안전하게 기본값 제공 |
사용되는 문맥 | 형식 관련 작업 (리플렉션, 비교, 제네릭 제한 등) | 값 초기화, 조건부 처리, 제네릭에서 기본값 반환 |