C#

    C# 메서드 매개변수 in, ref, out, param

    소개 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# 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 조건부 연산자

    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#에서 배열의 인덱싱은 배열 내의 특정 위치에 있는 데이터를 참조하는 데 사용됩니다. 인덱싱에는 배열의 요소에 대한 참조 및 할당이 포함됩니다. 배열의 요소에 대한 참조는 대괄호([])를 사용하여 수행됩니다. int[] arr = { 1, 2, 3, 4, 5 }; int x = arr[2]; // arr의 세 번째 요소를 참조하여 x에 할당 위의 예제에서 arr[2]는 배열 arr의 세 번째 요소를 참조합니다. 이 요..

    이진탐색 알고리즘

    소개 이진탐색 알고리즘은 정렬된 배열에서 특정 값을 찾는 데 사용되는 검색 알고리즘 중 하나입니다. 이번 글에서는 이진탐색 알고리즘을 자세히 살펴보고, C#스크립트로 예시를 작성해보겠습니다. 이진탐색 알고리즘이란? 이진탐색 알고리즘은 배열의 중간 값을 선택하여 찾고자 하는 값과 비교합니다. 만약 선택한 값이 찾고자 하는 값보다 크다면, 배열의 왼쪽 절반에 대해서 이진탐색을 반복합니다. 선택한 값이 찾고자 하는 값보다 작다면, 배열의 오른쪽 절반에 대해서 이진탐색을 반복합니다. 이 과정을 반복하여 찾고자 하는 값을 찾을 때까지 수행합니다. 이진탐색 알고리즘의 예 다음은 이진탐색 알고리즘의 예시입니다. static int BinarySearch(int[] arr, int target) { int left =..

    C# DateTime

    소개 c#에서 DateTime 클래스는 날짜와 시간 정보를 다루는 데 사용되는 클래스입니다. 이번 글에서는 c#의 DateTime 클래스의 다양한 내장 메서드와 프로퍼티들을 자세하게 살펴보겠습니다. DateTime 클래스란? DateTime 클래스는 c#에서 날짜와 시간 정보를 다루는 데 사용되는 클래스입니다. DateTime 클래스는 .NET Framework의 일부이며, 매우 다양한 메서드와 프로퍼티를 제공합니다. DateTime 클래스의 속성 DateTime 클래스는 다양한 속성을 제공합니다. 이러한 속성은 다음과 같습니다. DateTime.Now : 현재 날짜와 시간 정보를 가져옵니다. DateTime.UtcNow : 협정 세계시(UTC) 기준 현재 날짜와 시간 정보를 가져옵니다. DateTime..

    C# Nullable<T>

    소개 C#에서 nullable은 값 형식의 null 값을 표현하기 위한 개념입니다. 이번 글에서는 C# nullable에 대해 자세히 알아보고, 내장 메서드와 프로퍼티를 설명하고 사용 방법을 알아보겠습니다. Nullable이란? C#에서 값 형식은 null 값을 가질 수 없습니다. 그러나 nullable은 값 형식의 null 값을 표현할 수 있도록 합니다. nullable은 값 형식에 대한 래퍼(Wrapper) 클래스를 제공합니다. 이 래퍼 클래스는 값 형식의 null 값을 표현할 수 있습니다. Nullable 사용 방법 nullable은 값 형식 변수 뒤에 물음표(?)를 붙여서 사용합니다. 다음은 int 형식의 nullable 변수 선언과 초기화의 예입니다. int? nullableInt = null;..

    C#의 #region 지시어

    C#에서 #region 지시어는 코드를 논리적인 구획으로 나누어서 표시할 때 사용됩니다. #region 지시어를 사용하면 코드의 가독성을 높이고, 특정 영역을 쉽게 찾아볼 수 있습니다. #region 지시어의 사용법 #region 지시어는 다음과 같은 형태로 사용됩니다. #region 이름 코드 #endregion 위의 코드에서 이름은 #region 블록의 이름을 나타냅니다. 코드는 #region 블록에 속하는 코드입니다. #region 블록은 중첩될 수 있으며, #endregion 지시어는 생략 가능합니다. #region 지시어의 예 다음은 #region 지시어를 사용한 예시입니다. using System; namespace ConsoleApp { class Program { static void Ma..