[C#] is 연산를 이용해서 중복 할당하지 않고 비교문에서 사용

var input = "15,2";

,로 두 값을 취하고자 할 때 다음과 같이 보통 사용하는데요,

var items = input.Split(',');
var (a, b) = (items[0], items[1]);

LINQ를 써서 이렇게 취할 수 도 있습니다.

(a, b) = input.Split(',').Chunk(2).Select(x => (x[0], x[1])).First();

그런데 switch 식등 얻은 값으로 다양한 연산이 필요할 때 바로 쓸 수 없는 경우가 있는데요, 이 때 is 키워드를 사용하면 유용합니다.

// 입력 값이 15이면서 3이 아닌 경우 참
var bResult = input.Split(',') is string[] items2 is true && items2[0] is "15" && items2[1] is not "3";

is 타입 변수를 이용한 것입니다.

8개의 좋아요