C# 패턴식 switch문
·
C#
소개 C# 8.0부터 패턴식 switch문이 추가되었습니다. 이전의 switch문보다 더욱 간결하고 유연한 코드를 작성할 수 있게 되었습니다. 이번 글에서는 C# 8.0의 패턴식 switch문의 종류와 사용법에 대해 자세하게 살펴보겠습니다. 패턴식 switch문이란? 패턴식 switch문은 switch문의 조건식에 패턴을 사용할 수 있게 해줍니다. 이를 통해 간결하고 유연한 코드를 작성할 수 있습니다. C# 8.0에서는 다양한 종류의 패턴을 사용할 수 있습니다. 상수 패턴 가장 기본적인 패턴은 상수 패턴입니다. 상수 패턴은 switch문의 조건식과 비교할 상수값을 사용합니다. string fruit = "apple"; switch (fruit) { case "apple": Console.WriteLine..
경로 찾기 알고리즘 : A Pathfinding* Algorithm
·
C#/Algorithm
A* 알고리즘 A* 알고리즘은 경로찾기 알고리즘 중 하나로, 출발지점부터 목적지점까지의 최적 경로를 탐색합니다. 이 알고리즘은 가중치 그래프에서 최단 경로를 찾는 데 사용됩니다. A* 알고리즘은 다음과 같은 특징을 가지고 있습니다. 휴리스틱 함수를 사용하여 최적 경로를 탐색합니다. 경로의 비용을 계산하고, 비용이 가장 적은 경로를 선택합니다. 경로를 찾는 과정에서 이동할 수 있는 모든 경로를 검사합니다. A* 알고리즘은 C#에서 구현하기 쉽고, 많은 개발자들이 사용하고 있습니다. A* 알고리즘 구현 A* 알고리즘을 구현하기 위해서는 다음과 같은 단계를 따르면 됩니다. 출발점과 목적지점을 설정합니다. 휴리스틱 함수를 구현합니다. 우선순위 큐를 구현합니다. A* 알고리즘을 구현합니다. 출발점과 목적지점 설정..
C# Boxing
·
C#
C#은 객체 지향 프로그래밍 언어로, 값 형식과 참조 형식을 모두 지원합니다. 값 형식은 스택에 저장되고 참조 형식은 힙에 저장됩니다. 그런데 값 형식을 참조 형식으로 사용하려면 어떻게 해야 할까요? 이때, C# Boxing 개념이 필요합니다. Boxing이란? Boxing은 값 형식을 참조 형식으로 변환하는 과정을 말합니다. Boxing을 사용하면 값 형식을 힙에 저장할 수 있습니다. 이렇게 하면 값 형식이 참조 형식으로 사용됩니다. Boxing을 사용하면 값 형식을 참조 형식으로 사용할 수 있으므로, 값 형식과 참조 형식을 혼합하여 사용할 수 있습니다. Boxing의 예 다음은 Boxing의 간단한 예입니다. int i = 10; object obj = i; 위의 예제에서 i 변수는 int 값 형식입..
C# Jump 문 : break, continue, return, goto
·
C#
소개 C#의 Jump 문은 실행 중인 코드의 흐름을 제어하는 데 사용됩니다. 이번 글에서는 C# Jump 문 중 break, continue, return 및 goto에 대해 자세히 살펴보겠습니다. break 문 break 문은 루프 또는 switch 문에서 실행 중인 코드의 흐름을 즉시 중단시키는 데 사용됩니다. 루프에서 break 문이 실행되면 루프가 즉시 종료됩니다. switch 문에서 break 문이 실행되면 switch 문이 종료됩니다. 다음은 break 문의 예입니다. for (int i = 0; i < 10; i++) { if (i == 5) { break; } Console.WriteLine(i); } 위의 예제에서 i가 5일 때 break 문이 실행되므로 루프가 종료됩니다. continu..
C# 메서드 매개변수 in, ref, out, param
·
C#
소개 C#에서 메서드는 다양한 매개변수를 사용하여 데이터를 전달받을 수 있습니다. 이번 글에서는 C#에서 사용되는 메서드 매개변수 중 in, ref, out, param에 대해 자세히 살펴보겠습니다. in 매개변수 in 매개변수는 값을 읽기 전용으로 전달하는 데 사용됩니다. in 매개변수를 사용하면 메서드 내에서 해당 매개변수의 값을 변경할 수 없습니다. in 매개변수를 사용하면 데이터를 보호하고 의도하지 않은 변경을 방지할 수 있습니다. public void Print(in int x) { Console.WriteLine(x); } 위의 예제에서 Print() 메서드는 in 매개변수를 사용하여 값을 읽기 전용으로 전달받습니다. 메서드 내에서 x 변수의 값을 변경하려고 하면 컴파일 오류가 발생합니다. r..
C# with 식
·
C#
소개 C# 8.0부터 도입된 with 식은 객체 초기화 코드를 간결하게 작성할 수 있도록 도와주는 기능입니다. C# 11.0에서는 with 식이 개선되어 더욱 간편하게 사용할 수 있게 되었습니다. 이번 글에서는 C# with 식에 대해 자세히 알아보겠습니다. with 식이란? with 식은 객체 초기화 코드를 간결하게 작성할 수 있도록 도와주는 기능입니다. 기존의 객체 초기화 방식은 매우 길고 복잡하여 가독성이 떨어졌습니다. with 식을 사용하면 객체 초기화 코드를 더욱 간결하게 작성할 수 있습니다. with 식의 예 다음은 with 식을 사용하여 객체를 초기화하는 간단한 예입니다. Person person = new() { Name = "John", Age = 30, Address = new() { ..
C# ? 연산자 : Null 조건부 연산자
·
C#
null 조건부 연산자란? null 조건부 연산자는 C# 6.0부터 지원되는 연산자로, null 값을 갖는 객체의 속성이나 메서드를 호출할 때 사용됩니다. null 조건부 연산자는 객체가 null인 경우 해당 속성이나 메서드를 호출하지 않으며, null이 아닌 경우 해당 속성이나 메서드를 호출합니다. null 조건부 연산자는 다음과 같은 형식으로 사용됩니다. object?.propertyOrMethod; 위의 코드에서 object는 호출할 객체를, propertyOrMethod는 호출할 속성이나 메서드를 나타냅니다. ? 연산자는 object가 null이 아닌 경우 propertyOrMethod를 호출하며, object가 null인 경우 호출하지 않습니다. null 조건부 연산자의 예 다음은 null 조건..
C# 배열 인덱싱
·
C#
소개 C#에서 배열은 많은 데이터를 처리하는 데 사용되는 중요한 자료구조 중 하나입니다. 배열의 인덱싱은 배열 내의 특정 위치에 있는 데이터를 참조하는 데 사용됩니다. 이번 글에서는 C#에서 배열의 인덱싱하는 방법 중에서 ..연산자와 ^연산자에 대해 자세하게 설명하겠습니다. 배열의 인덱싱 C#에서 배열의 인덱싱은 배열 내의 특정 위치에 있는 데이터를 참조하는 데 사용됩니다. 인덱싱에는 배열의 요소에 대한 참조 및 할당이 포함됩니다. 배열의 요소에 대한 참조는 대괄호([])를 사용하여 수행됩니다. int[] arr = { 1, 2, 3, 4, 5 }; int x = arr[2]; // arr의 세 번째 요소를 참조하여 x에 할당 위의 예제에서 arr[2]는 배열 arr의 세 번째 요소를 참조합니다. 이 요..