C#190 [C#]리플렉션(Reflection) - 클래스 생성자 정보 접근 클래스 생성자 정보 접근 이번 포스팅은 C#의 Reflection API를 사용하여 클래스 생성자 정보를 확인할 수 있는 방법을 소개합니다. 생성자 정보 가져오는 방법 Reflection API를 사용하여 클래스 생성자 정보를 확인할 수 있는 방법은 두 가지입니다. 첫 번째 방법은 Type 클래스에서 제공하는 GetConstructors() 메서드를 사용하여 생성자 정보를 배열로 가져올 수 있습니다. public ConstructorInfo[] GetConstructors(); public abstract ConstructorInfo[] GetConstructors(BindingFlags bindingAttr); GetConstructors() 메서드는 오버로드된 두 가지 버전이 존재합니다. 매개변수가 .. C#/리플렉션(Reflection) 2022. 9. 27. [C#]리플렉션(Reflection)이란? 리플렉션(Reflection)이란? 리플렉션이란 애플리케이션 실행 중 어셈블리의 내용을 확인하거나 검사하려는 경우 사용되는 기능입니다. 어셈블리의 내용의 종류는 메서드, 프로퍼티, 생성자 등 쉽게 이야기하자면, 인스턴스의 데이터 타입 정보입니다. 이번 포스팅은 리플렉션의 개념과 간단한 사용 방법을 소개합니다. 리플렉션을 사용해야 하는 경우 리플렉션은 주로 애플리케이션을 개발할 때, 디버깅 또는 런타임에 알 수 없는 객체의 동작을 분석하기 위해 사용하거나 외부 라이브러리에 존재하는 클래스 및 메서드를 분석하는 목적으로 사용됩니다. 즉, 리플렉션은 테스트 및 디버그 목적으로 사용하는 기능입니다. 리플렉션을 사용하는 경우 성능 오버헤드를 일으킬 수 있으므로 반드시 테스트 및 디버그 목적으로 사용하는 것이 좋으.. C#/리플렉션(Reflection) 2022. 9. 25. [C#]문자열이 숫자인지 체크하는 방법 문자열이 숫자인지 체크하는 방법 이번 포스팅은 C#에서 문자열이 숫자인지 체크할 수 있는 몇 가지 방법을 소개합니다. 방법 1. TryParse 메서드(권장) C#의 숫자를 표현하는 기본 타입에서 TryParse() 메서드를 사용하여 문자열이 숫자인지 확인할 수 있습니다. ※ C#의 숫자 타입 byte(1) < short(2) < int(4) < long(8) < float(4) < double(8) < decimal(16) 정수: byte, short, int, long 실수: float, double, decimal 괄호 안의 숫자는 타입의 크기(byte)를 의미하며, long 타입은 float 타입보다 크지만 표현할 수 있는 숫자의 범위가 작습니다. TryParse() 메서드는 문자열이 숫자인 경우.. C#/문자열 2022. 9. 14. [C#]두 배열을 합치는 방법 두 배열을 합치는 방법 이번 포스팅은 C#에서 두 배열을 연결하여 새로운 배열을 만드는 몇 가지 방법을 소개합니다. 방법 1. 반복문 가장 심플한 방법으로 반복문을 사용할 수 있습니다. [합치는 방법] 순서 1. 두 배열의 길이를 더한 값을 새로운 배열의 크기로 설정하여 새로운 배열을 생성합니다. 순서 2. 첫 번째 배열을 순회하여 새로운 배열에 값을 추가합니다. 순서 3. 두 번째 배열을 순회하여 새로운 배열에 값을 추가합니다. 다음 예제는 반복문을 사용하여 두 배열이 합쳐진 새로운 배열을 생성합니다. class Program { static void Main(string[] args) { int[] intArray1 = { 0, 10, 20 }; int[] intArray2 = { 30, 40, 50.. C#/배열 2022. 9. 14. [C#]배열의 크기를 변경하는 방법 배열의 크기를 변경하는 방법 C#에서 배열은 선언과 동시에 고정된 크기를 가지는 데이터입니다. 따라서, 배열의 크기를 벗어난 인덱스에 접근하는 경우 다음 예시처럼 IndexOutOfRangeException이 발생합니다. class Program { static void Main(string[] args) { int[] intArray = new int[3]; intArray[4] = 40; } } [에러 내용] 배열의 크기를 벗어난 인덱스에 접근하기 위해서는 배열의 크기를 변경해야 하며, 배열의 기존 데이터는 보존되어야 합니다. 배열을 새로운 배열로 할당하여 배열의 크기를 변경할 수 있지만, 이 방법은 기존 데이터가 보존되지 않는다는 문제점이 존재합니다. class Program { static voi.. C#/배열 2022. 9. 13. [C#]배열 콘솔에 출력하는 방법 배열 콘솔에 출력하는 방법 이번 포스팅은 C#에서 배열의 값을 콘솔에 출력하는 몇 가지 방법을 소개합니다. 방법 1. 반복문 첫 번째 방법으로 반복문을 사용하여 배열의 요소를 콘솔에 출력할 수 있습니다. 다음 예제는 foreach문을 사용하여 int 타입의 배열을 콘솔에 출력합니다. class Program { static void Main(string[] args) { int[] intArray = { 0, 10, 20, 30, 40, 50, 60, 70 }; foreach(int num in intArray) { Console.WriteLine(num); } } } [실행 결과] 0 10 20 30 40 50 60 70 Console.WriteLine() 메서드를 사용하면, 배열의 요소가 한 줄씩 출.. C#/배열 2022. 9. 1. [C#]배열 특정 인덱스부터 자르는 방법 배열 특정 인덱스부터 자르는 방법 이번 포스팅은 C#에서 특정 인덱스부터 배열을 자르는 몇 가지 방법을 소개합니다. 방법 1. Array 클래스의 Copy 메서드 Array 클래스에서 제공하는 Copy() 메서드를 사용하여 배열 인덱스 범위에 해당하는 값을 다른 배열에 할당할 수 있습니다. public static void Copy( Array sourceArray, int sourceIndex, Array destinationArray, int destinationIndex, int length); Copy() 메서드는 원본 배열(sourceArray)의 특정 위치(sourceIndex)부터 특정 개수(length)의 요소를 새로운 배열(destinationArray)의 특정 위치(destination.. C#/배열 2022. 9. 1. [C#]특정 범위의 랜덤 값 생성하는 방법 특정 범위의 랜덤 값 생성하는 방법 이번 포스팅은 C#에서 특정 범위의 랜덤 값을 생성할 수 있는 몇 가지 방법을 소개합니다. 방법 1. 특정 범위의 랜덤 값 생성 특정 범위의 랜덤 값을 생성하기 위해 Random 클래스의 next() 메서드를 사용합니다. public virtual int Next(int minValue, int maxValue) Next() 메서드는 최소값(minValue), 최대값(maxValue) 사이의 값을 반환합니다. 최소값이 0이며, 최대값이 10인 경우 0 이상 10 미만인 정수를 반환합니다. 다음 예제는 0 이상 10 미만인 랜덤 값을 콘솔에 5번 출력합니다. class Program { static void Main(string[] args) { Random rand =.. C# 2022. 8. 31. [C#]Dictionary 필터링하는 방법 Dictonary 필터링하는 방법 Dictionary에서 특정 조건을 만족하는 데이터만 가져오고 싶은 상황이 존재할 수 있습니다. 이번 포스팅은 Dictionary의 키와 값을 필터링하는 몇 가지 방법을 소개합니다. 방법 1. LINQ의 Where 메서드 - 새로운 Dictionary 생성 첫 번째 방법으로 LINQ에서 제공하는 Where() 메서드를 사용하여 키 또는 값이 필터링된 새로운 Dictionary를 생성할 수 있습니다. 먼저, LINQ의 Where() 메서드를 사용하기 위해 다음 네임스페이스를 추가합니다. using System.Linq; 배열 또는 컬렉션과 같은 데이터 집합을 필터링하는 Where() 메서드는 오버로드된 두 가지 버전이 존재합니다. public static IEnumerab.. C# 2022. 8. 29. [C#]Dictionary 콘솔에 출력하는 방법 Dictionary 콘솔에 출력하는 방법 C#의 Dictionary 클래스는 형식의 컬렉션이므로 키와 값을 한 번에 출력할 수 없습니다. 이번 포스팅은 Dictionary의 키와 값을 콘솔에 출력하는 몇 가지 방법을 소개합니다. 방법 1. for문 for문을 사용하여 Dictionary의 키와 값을 콘솔에 출력할 수 있습니다. [출력 방법] 순서 1. Dictionary 요소의 개수만큼 반복문을 실행합니다. 순서 2. Dictionary 클래스의 ElementAt() 메서드로 Dictionary의 요소를 가져옵니다. 순서 3. 콘솔에 키와 값을 출력합니다. 다음 예제는 string 타입의 키와 int 타입의 값으로 구성된 Dictioanry의 요소를 출력합니다. class Program { public .. C# 2022. 8. 29. [C#]List의 타입을 변경하는 방법 List의 타입을 변경하는 방법 이번 포스팅은 C#에서 List의 타입을 변경할 수 있는 몇 가지 방법을 소개합니다. 방법 1. List 클래스의 ConvertAll 메서드 첫 번째 방법으로 List 클래스에서 제공하는 ConvertAll() 메서드를 사용할 수 있습니다. public List ConvertAll(Converter converter); Convert converter - 배열의 요소를 특정 타입으로 변환하는 변환기를 전달합니다. - T: 기존 배열의 타입을 설정합니다. - TOutput: 변환하고 싶은 타입을 설정합니다. ConvertAll() 메서드는 특정 타입으로 변환된 새로운 배열을 반환합니다. 예제 1. int 타입의 List를 string 타입으로 변경 다음 예제는 int 타입의.. C# 2022. 8. 28. [C#]List 다중 삭제 List 다중 삭제 이번 포스팅은 C#에서 List의 요소를 다중 삭제할 수 있는 몇 가지 방법을 소개합니다. 방법 1. 특정 조건을 만족하는 요소 삭제 List 클래스에서 제공하는 RemoveAll() 메서드를 사용하여 특정 조건을 만족하는 요소들을 제거할 수 있습니다. public int RemoveAll (Predicate match); RemoveAll() 메서드는 특정 조건을 만족하는 요소를 제거하고 제거된 요소의 수를 반환합니다. 다음 예제는 int 타입의 List에서 3 이하인 요소들을 제거합니다. class Program { static void Main(string[] args) { List intList = new List() { 1, 2, 3, 4, 5}; int removeCount.. C# 2022. 8. 28. 이전 1 2 3 4 ··· 16 다음