[C# 문법] C# as 연산자와 null 가능값 타입
- C#/C# 문법
- 2021. 6. 5. 00:00
소개
기존에는 as 연산자를 이용하여 형변환을 할 때 is 연산자와 함께 형변환 여부를 체크하여 사용하였습니다.
그러나, 보다 코드를 간결하게 작성할 수 있는 방법이 있어서 소개해 드리고자 합니다.
바로, as 연산자와 함께 null 연산자를 함께 이용하는 방법입니다.
예제 코드를 통해서 어떻게 사용하는지 보여 드리도록 하겠습니다.
as 연산자와 null 가능값 타입 사용 예제
using System;
namespace ConsoleApp6
{
class Program
{
static void Main(string[] args)
{
// is , as 연산자 이용한 타입
CheckIsAsMethod("범범조조");
CheckIsAsMethod(12);
Console.WriteLine();
Console.WriteLine();
Console.WriteLine();
// as 연산자 null 가능 값 타입
CheckAsNullMethod("범범조조");
CheckAsNullMethod(12);
}
public static void CheckIsAsMethod(object obj)
{
string str = obj as string;
if(str is string)
{
Console.WriteLine($"obj : {obj.ToString()}");
}
else
{
Console.WriteLine($"형변환 실패");
}
}
public static void CheckAsNullMethod(object obj)
{
int? str = obj as int?;
Console.WriteLine(str.HasValue ? str.Value.ToString() : "null");
}
}
}
실행 결과
null 가능 타입에 대해 as 연산자를 사용하는 경우 느리게 동작한다는 단점이 있습니다. 대부분의 경우에 큰 문제가 되지는 않지만, 어떤 경우에 is 연산이나 타입 변환보다도 느리게 동작할 때가 있어서 적절한 상황에 사용하는 것을 권장합니다.
728x90
'C# > C# 문법' 카테고리의 다른 글
[C# 문법] 배열에 대한 암시적 타입 지정 방법 (0) | 2021.06.16 |
---|---|
[C# 문법] C# null 병합 연산자 ?? 사용방법 (0) | 2021.06.05 |
[C# 문법] C# null 상수(리터럴) (0) | 2021.06.04 |
[C# 문법] C# 콘솔 Command Line Argument의 사용 방법 (0) | 2021.06.04 |
[C# 문법] C# 특정 구문들 수행 시간 구하는 방법 (0) | 2021.05.28 |
이 글을 공유하기