C# 에서 temp 없이 값 교환하는 법, 이렇게 간단해도 될까요?
C#을 처음 배울 때, 두 변수의 값을 서로 바꾸려면 보통 다음과 같이 작성했습니다.int temp = a;a = b;b = temp; 하지만 C# 7.0부터는 이 과정을 단 한 줄로 처리할 수 있습니다.(a, b) = (b, a); 왜 이렇게 되는 걸까요? 이 문법은 튜플 분해 할당(Tuple Deconstruction) 기능을 이용한 것입니다.• (a, b)는 왼쪽에 위치한 변수 그룹• (b, a)는 오른쪽에 위치한 값 그룹이 둘을 한 쌍으로 묶어 한 번에 할당하기 때문에 가능한 문법입니다.즉, (a, b) = (b, a); 는1. 오른쪽의 (b, a) 튜플을 먼저 평가한 다음2. 각각의 값을 왼쪽의 a, b에 동시에 할당하는 방식입니다. 이 구조 덕분에 temp 와 같은 임시 변수를 사용하지 않아..
2025. 5. 4.
Dictionary 를 배열처럼 접근할 때 주의사항
C# 에서 Dictionary는 대괄호 [ ] 기호를 사용해 값을 가져오기 때문에 얼핏 보면 배열처럼 보입니다.그래서 처음에는 for (int i = 0; i 하지만 아래 코드를 보면, 배열처럼 접근하는 것이 왜 문제가 되는지 쉽게 이해할 수 있습니다. 실행시 오류가 나는 코드Dictionary numbers = new Dictionary() { { 1, "one" }, { 20, "twenty" }, { 3, "three" }, { 19, "nineteen" }, { 5, "five" }, }; for (int i = 0; i 이 코드는 실행과 동시에 다음과 같은 예외를 발생시킵니다The given key '0' was not present in the dictio..
2025. 5. 2.