C#에서 bool 타입의 기본값을 얻으려면 default 연산자를 사용하면 됩니다. default 키워드는 해당 타입이 가지는 기본값을 반환하는데, 값 타입인 bool의 경우 기본값은 False입니다.default 연산자 사용법다음과 같이 default 키워드를 사용하여 bool 타입의 기본값을 변수에 할당할 수 있습니다.bool a = default(bool);예제 코드아래 예제는 bool 타입의 기본값을 콘솔에 출력하는 전체 코드입니다.using System; public class Demo { public static
C#의 nameof 연산자는 변수, 타입, 메서드 등 코드 요소의 이름을 그대로 문자열 리터럴(string literal)로 반환하는 기능입니다. 하드코딩된 문자열 대신 사용하면 리팩토링 시에도 안전하게 이름을 유지할 수 있어 실무에서 매우 유용합니다.nameof 기본 문법예를 들어 다음과 같은 변수가 있다고 가정해 보겠습니다.var vehicle = motorbike;이 변수의 이름을 문자열로 얻으려면 아래처럼 nameof를 사용하면 됩니다.nameof(vehicle);실행 결과는 변수에 담긴 값인 motorbike가 아니라, 변
C#에서 Enum.GetName 메서드를 사용하면 열거형(Enum) 값에 해당하는 문자열 표현을 쉽게 얻을 수 있습니다. 열거형 멤버의 실제 이름을 코드 실행 중에 동적으로 확인해야 할 때 매우 유용합니다.Enum.GetName의 매개변수이 메서드는 두 개의 매개변수를 받습니다.Type — 열거형 타입 (예: typeof(Vehicle))Object — 열거형 값 (예: Vehicle.Motorbike)반환값은 해당 열거형 멤버의 이름을 나타내는 string입니다.사용 예제다음 예제는 Enum.GetName을 활용하여 Vehicle
Enum.GetNames 메서드는 C#에서 열거형(enum)에 정의된 모든 상수의 이름을 문자열 배열로 반환합니다. 열거형의 각 항목을 반복해서 출력하거나 처리해야 할 때 매우 유용하게 사용됩니다.문법Enum.GetNames(Type)여기서 Type 매개변수는 이름을 가져올 대상이 되는 열거형 타입을 의미합니다. 일반적으로 typeof 연산자를 사용하여 열거형의 타입을 전달합니다.반환값이 메서드는 열거형에 포함된 각 상수의 이름을 담고 있는 string[] 배열을 반환합니다. 배열의 요소 순서는 열거형에 선언된 값들의 순서를 따릅니
C# NullReferenceException(널 참조 예외)이란?NullReferenceException은 C#에서 가장 자주 만나게 되는 런타임 예외 중 하나입니다. 이 예외는 값이 null인 객체의 멤버 필드나 메서드에 접근하려고 할 때 발생합니다. 즉, 실제 인스턴스가 존재하지 않는 참조 변수를 사용하려는 순간 런타임에서 오류를 던지게 됩니다.예를 들어, 문자열 변수에 null을 할당한 뒤 해당 변수의 Length 속성에 접근하면 객체가 실제로 존재하지 않기 때문에 예외가 발생합니다.예제 코드아래 코드는 null인 문자열의
C#에서 두 개의 배열을 하나로 결합하는 가장 간단한 방법은 List를 활용하는 것입니다. AddRange() 메서드로 두 배열의 모든 요소를 리스트에 추가한 뒤, ToArray() 메서드를 사용해 다시 배열로 변환하면 됩니다. 단계별로 자세히 살펴보겠습니다.1. 두 개의 배열 선언 및 초기화먼저 결합할 두 개의 정수형 배열을 선언하고 초기화합니다.int[] arr1 = { 37, 45, 65 }; int[] arr2 = { 70, 89, 118 };2. 새로운 리스트 생성배열의 요소들을 담아둘 새로운 List 객체를 생성합니다.v
C#에서는 한 번 생성된 배열의 크기를 직접 변경할 수 없습니다. 하지만 Array.Resize 메서드를 사용하면 기존 배열을 지정한 크기의 새로운 배열로 교체하는 방식으로 크기를 조정할 수 있습니다.배열 선언 및 초기화먼저 다음과 같이 문자형(char) 배열을 선언하고 일부 요소에 값을 할당해 보겠습니다.char[] ch = new char[10]; ch[0] = a; ch[1] = b;Array.Resize로 크기 조정하기Array.Resize 메서드는 첫 번째 인자로 ref 키워드가 붙은 배열 참조를, 두 번째 인자로 새로운
C#에서 바이트 데이터의 범위를 효율적으로 다루려면 Buffer 유형을 사용하는 것이 좋습니다. Buffer 클래스는 기본 형식(primitive type) 배열을 직접 조작할 수 있는 다양한 정적 메서드를 제공하며, 그중 Buffer.BlockCopy 메서드는 한 바이트 배열에서 다른 바이트 배열로 지정된 바이트 수만큼 빠르게 복사할 때 활용됩니다.Buffer.BlockCopy의 매개변수BlockCopy 메서드는 다음과 같은 인자를 받습니다.src: 복사할 원본 바이트 배열srcOffset: 원본 배열에서 복사를 시작할 위치(바이
C#에서 Buffer.BlockCopy 메서드는 한 바이트 배열(byte array)에서 다른 바이트 배열로 지정된 바이트 수만큼 데이터를 빠르게 복사하는 데 사용됩니다. 이 메서드는 배열 요소를 하나씩 순회하는 방식보다 성능이 뛰어나기 때문에 대용량 데이터 처리에 유용합니다.Buffer.BlockCopy 메서드의 매개변수src – 복사할 데이터가 있는 원본 배열srcOffset – 원본 배열에서 복사를 시작할 위치(바이트 단위)dst – 데이터를 복사받을 대상 배열dstOffset – 대상 배열에 저장을 시작할 위치(바이트 단위)
C#에서 Array.Resize로 배열 크기 변경하기C#에서 기존 배열을 다른 크기의 새 배열로 교체하려면 Array.Resize 메서드를 사용합니다. 이 메서드는 배열의 크기를 늘리거나 줄일 수 있으며, 이미 저장된 요소들은 그대로 유지됩니다.메서드 호출 시 ref 키워드를 통해 배열 참조를 전달하고, 두 번째 인자로 새로운 크기를 지정합니다.Array.Resize<char>(ref arr, 4);크기가 조정된 배열에는 아래와 같이 새로운 요소를 추가할 수 있습니다.예제 코드using System;class Progra
C#에서 배열의 바이트 수를 계산하려면 Buffer.ByteLength() 메서드를 사용할 수 있습니다. 이 메서드는 지정된 배열에 저장된 총 바이트 수를 정수 형태로 반환합니다.바이트 배열 설정먼저 계산할 바이트 배열을 선언합니다.byte[] b = { 5, 9, 19, 23, 29, 35, 55, 78 };Buffer.ByteLength()로 바이트 수 계산하기배열의 바이트 수를 구하는 방법은 다음과 같습니다.Buffer.ByteLength(b)매개변수로 전달된 배열의 총 바이트 크기가 반환됩니다.전체 코드using System
C#에서 Buffer.GetByte() 메서드 사용하기C#에서 Buffer.GetByte() 메서드를 사용하면 배열에 저장된 데이터를 바이트 단위로 하나씩 읽을 수 있습니다. 이 메서드는 지정한 인덱스 위치에 있는 단일 바이트 값을 반환하며, 정수형 배열처럼 각 요소가 여러 바이트로 구성된 경우에도 내부 바이트까지 세밀하게 확인할 수 있습니다.배열 선언먼저 예제에서 사용할 정수형 배열을 선언합니다.int[] arr = { 3, 4, 12 };이제 반복문과 함께 Buffer.ByteLength()와 Buffer.GetByte() 메서
Buffer.SetByte() 메서드는 지정된 배열의 특정 바이트 위치에 원하는 값을 할당하는 데 사용됩니다. 이 메서드는 System 네임스페이스의 Buffer 클래스에 속해 있으며, 배열을 바이트 수준에서 직접 조작할 수 있도록 해줍니다. SetByte() 메서드 기본 구문 Buffer.SetByte(array, index, value); array: 값을 설정할 대상 배열 index: 값을 할당할 바이트 위치 (0부터 시작) value: 해당 위치에 저장할 바이트 값 (0~255) 예제 살펴보기 먼저 정수형 배열을 하나 선
C#에서 AddRange() 메서드를 활용하면 두 개의 배열을 손쉽게 하나로 병합할 수 있습니다. 이 방법은 배열을 직접 합치는 대신, 중간 단계로 List<T>를 활용하는 것이 핵심입니다.병합 절차1단계: 두 개의 배열 선언먼저 병합할 두 개의 배열을 준비합니다.int[] arr1 = { 15, 20, 27, 56 }; int[] arr2 = { 62, 69, 76, 92 };2단계: 리스트 생성 후 AddRange()로 요소 추가새로운 List<int>를 만들고, AddRange() 메서드를 사용해 각 배열
C#에서 배열 간 바이트 범위 복사하기C#에서는 Buffer.BlockCopy 메서드를 사용하여 한 배열에서 다른 배열로 지정된 범위의 바이트를 손쉽게 복사할 수 있습니다. 이 메서드는 기본 형식(primitive type)이 저장된 배열 사이에서 원시 데이터를 빠르게 복사할 때 특히 유용합니다.바이트 배열 설정먼저 복사할 원본 바이트 배열과 복사 대상이 될 바이트 배열을 선언합니다.byte[] b1 = new byte[] {22, 49}; byte[] b2 = new byte[5];배열 간 바이트 복사Buffer.BlockCopy
C#에서 Array.BinarySearch 메서드를 사용하면 배열 안에서 특정 요소가 위치한 인덱스를 빠르게 찾을 수 있습니다. 이진 탐색(Binary Search) 알고리즘을 기반으로 하기 때문에 대용량 배열에서도 효율적으로 동작합니다.문자열 배열 선언하기먼저 다음과 같이 문자열 배열을 선언합니다.string[] str = { a, m, i, t};Array.BinarySearch로 요소 위치 구하기이제 Array.BinarySearch 메서드에 배열과 찾으려는 값을 전달하여 문자 t의 위치를 구할 수 있습니다.Array.Bina
C#에서 정수 배열을 문자열 배열로 변환해야 할 때는 Array.ConvertAll() 메서드를 활용하는 것이 가장 간편합니다. 이 메서드는 람다 식과 함께 사용되며, 반복문 없이 단 한 줄의 코드로 배열의 모든 요소를 원하는 타입으로 변환할 수 있습니다. 정수 배열 선언하기 먼저 5개의 요소를 가진 정수 배열을 선언하고 값을 초기화합니다. int[] intArray = new int[5]; // 5개의 요소를 가진 정수 배열 intArray[0] = 15; intArray[1] = 30; intArray[2] = 44; int
C#에서 배열 안에 특정 값이 포함되어 있는지 확인하려면 Array.Exists 메서드를 사용하면 됩니다. 이 메서드는 조건을 만족하는 요소가 하나라도 존재하면 true를, 그렇지 않으면 false를 반환합니다. 문자열 배열 선언하기 먼저 확인 대상이 될 문자열 배열을 선언합니다. string[] strArray = new string[] { keyboard, screen, mouse, charger }; Array.Exists로 값 찾기 예를 들어 배열에서 keyboard라는 값을 찾고 싶다면 다음과 같이 Array.Exists(
배열에서 특정 요소가 마지막으로 나타나는 위치(인덱스)를 찾으려면 Array.LastIndexOf 메서드를 사용하면 됩니다. 만약 해당 요소가 배열에 존재하지 않으면 -1을 반환합니다.Array.LastIndexOf 메서드란?Array.LastIndexOf는 지정한 값이 1차원 배열에서 마지막으로 발견되는 인덱스를 반환하는 정적 메서드입니다. 검색은 배열의 끝에서 시작 방향으로 진행되며, 요소를 찾지 못할 경우 -1을 반환한다는 점이 IndexOf와의 가장 큰 차이입니다.예제 배열 준비하기다음과 같은 정수 배열이 있다고 가정해 보겠
C#에서 Array.TrueForAll() 메서드를 사용하면 배열의 모든 요소가 특정 조건을 만족하는지 한 번에 확인할 수 있습니다. 이 메서드는 검사할 배열과 조건을 나타내는 Predicate<T> 델리게이트(람다 식)를 인수로 받으며, 모든 요소가 조건을 충족하면 true, 단 하나라도 충족하지 않으면 false를 반환합니다.예제using System; using System.Text; public class Demo { public static void Main() { int[] val = { 97