본문 바로가기

C#20

[C#] 어셈블리 내 클래스 타입 가져오기 https://docs.microsoft.com/ko-kr/dotnet/api/system.reflection.assembly?view=net-6.0 Assembly 클래스 (System.Reflection) 다시 사용 및 버전 지정이 가능한, 공용 언어 런타임 애플리케이션의 자체 설명 빌딩 블록인 어셈블리를 나타냅니다. docs.microsoft.com 추가로 필요한 게 있다면 이 곳을 참조하자 Type t = typeof(T); var csharp = Assembly.GetAssembly(t); var parsers = csharp.GetTypes().Where(type => type.IsSubclassOf(t)).ToArray(); 제네릭 타입 T의 서브 클래스 타입을 가져오는 예제 하지만 위 코드.. 2022. 2. 24.
[C#] enum과 foreach 주의할 점 using System; namespace ConsoleApp1 { public static class ForeachTest { public enum ENUM_TEST { NUN = -1000, MINUS = -1, ZERO = 0, ONE = 1, MAX = 1000 } public static void Run() { foreach (var el in Enum.GetValues(typeof(ENUM_TEST))) { Console.WriteLine(el.ToString()); } } } class Program { static void Main(string[] args) { ForeachTest.Run(); } } } 대충 요런 느낌으로 돌리면, NUN - MINUS - ZERO - ONE - MAX .. 2022. 2. 24.
[C#] Add와 AddRange https://hgarchive.tistory.com/3 C# List의 Add, AddRange 사용 시 성능 차이 실험 C#의 List에서 자료를 추가하는 함수로 Add, AddRange가 있다. (Insert, InsertRange도 있지만 이글에서는 다루지 않는다.) 마이크로소프트 공식 문서(List .Add(T), List .AddRange(T))나 여타 다른 곳에서 일반.. hgarchive.tistory.com 내가 따로 정리하려 했는데, 조사 중에 내가 원하는 실험을 다 해준 글이 있어 복붙만 함 요지는 리스트에 만 개의 element를 삽입할 때 Add는 하나씩 만 번, AddRange는 만 개를 한 번에 하는데, 그 과정에서 Add는 capacity 변화 시 대응과 함수 호출의 오버헤드.. 2022. 2. 16.
[C#] C# Event와 Unity Event 소개 및 비교 여기서 Event란 C#의 delegate를 이용한 방송자와 구독자로 이루어지는 Pair 프로그래밍 방식을 의미합니다. - delegate는 다음과 같이 선언하며, 같은 반환 형식, 매개 변수 형식을 갖는 함수를 모아다가 대리로 수행해줍니다. delegate int Transformer(int x); // 대리자 클래스 Transformer, 반환 타입 int, 매개 변수 타입 int https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/delegates/ 대리자 - C# 프로그래밍 가이드 C#의 대리자는 매개 변수 목록 및 반환 형식이 있는 메서드를 나타내는 형식입니다. 대리자는 메서드를 다른 메서드에 인수로 전달하는 데 사용됩니다. doc.. 2021. 12. 1.