2024/10/14 29

[C#] Reflection

Reflection 이란?런타임에 어셈블리, 모듈, 형식 및 해당 맴버들에 대한 정보를 검사하고 수정할 수 있는 기능변수 형식을 가져오는 리플렉션 예제int i = 42;Type type = i.GetType();Console.WriteLine(type); // System.Int32주요 기능 및 사용 사례형식 정보 검사 : 객체의 형식, 이름, 어셈블리 정보를 런타임에 확인동적 객체 생성 : 런타임에 동적으로 객체를 생성메서드 및 속성 호출 : 동적으로 메서드를 호출하거나 속성값을 읽고 씀특성 검사 : Attribute를 런타임에 확인하여 메타데이터 접근 가능인터페이스나 상속관계 검사 : 객체가 특정 인터페이스를 구현했는지, 기본클레스를 상속받았는지 여부를 런타임에 검사단점컴파일 시에 타입 안정성을 해..

Unity&C#/C# 2024.10.14

[C#] Enum

Enum 이란열거형Enum.GetNames vs Enum.GetValues차이점 요약Enum.GetNames:열거형의 이름(문자열) 목록을 반환 (string[]).각 열거형 항목의 이름을 가져옴Enum.GetValues:열거형의 값(정수 또는 해당 열거형 타입) 목록을 반환 (Array).각 열거형 항목에 할당된 값을 가져옴둘이 비슷해보이지만, GetValues는 enum 타입 그 자체의 값을 가져온다. 즉 (int)output 하면 그 값의 숫자를, output.string() 하면 그 값의 이름을 가져온다.함께 사용 예시:public enum Days{ Sunday = 0, Monday = 1, Tuesday = 2, Wednesday = 3, Thursday = 4, ..

Unity&C#/C# 2024.10.14

[Git] GitConvention

git commit Convention이 왜 필요한가?효율적인 commit message 작성을 위함. 구조 subjectbodyfooterTYPETypeDescriptionFeat새로운 기능 추가Fix버그, 오타 수정Complex여러가지 일 수행Update기능을 업데이트Rename파일 혹은 폴더명 수정, 옮기는 경우Remove파일을 삭제Chore기타 변경 사항Refactor리팩토링Move코드의 이동Asset에셋 추가Design배경, 맵 디자인 등Subject Rule50자를 넘지 말 것, 대문자로 시작해야하며 마침표 및 특수기호를 사용하면 안됨.명령형 어조를 사용Body Rule선택사항커밋의 내용과 이유를 설명. 방법은 설명하지 말것각 줄의 길이를 72자 이내로 제한 할 것Footer Rule선택사항..

카테고리 없음 2024.10.14

[Unity] Frame

Application.TargetFrameRate와 FixedUpdate의 차이Application.targetFrameRateUnity 어플리케이션이 초당 실행하려는 프레임 수를 제어하는 속성Application.targetFrameRate=60;// 60fps로 제한프레임 속도를 최적화 할 수 있음FixedUpdate기기의 성능에 관계 없이 일정한 시간간격으로 호출되는 메소드물리 연산에 사용하기 적합함.void FixedUpdate(){ transform.position += vector3.up*speed;}고정된 시간간격(기본 50Hz)으로 호출 됨그래서 둘이 무슨 차이?Application.targetFrameRate로 60fps를 고정하면 UI반응이나 그래픽 업데이트까지 60fps로 고정..

Unity&C#/Unity 2024.10.14

[C#] Orderby

What is Orderby Function?배열이나 리스트의 각 요소에 대해 "정렬 기준"을 하나 설정하고, 그 기준에 맞게 오름차순으로 정렬하는 함수숫자 리스트를 오름차순으로 정렬int[] numbers = {5,2,9,1,6};int[] sorted = numbers.OrderBy(x=>x).ToArray();// 결과=> numbers : {1,2,5,6,9}객체 리스트를 특정 필드를 기준으로 정렬class Person{ public sring Name {get;set;} public int Age{get;set;}}List people = new List{ new Person{Name="Alice", Age = 30}, new Person{Name="Bob", Age = 25}, new Pers..

Unity&C#/C# 2024.10.14