![[C#] 종료자 / 소멸자](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcjwja0%2FbtsG0uUggMS%2FFfUpJY8qEQOK2ubPL4yxD1%2Fimg.jpg)
C#에서의 종료자종료자 (Finalizer) / 소멸자 (Destructor) 는 해당 클래스의 인스턴스가 소멸될 때 불리는 메소드이다. 종료자의 특징종료자는 구조체에서 정의할 수 없으며, 클래스에서만 사용한다.클래스에는 종료자가 하나만 있을 수 있다.종료자는 상속하거나 오버로딩(파라미터x) 할 수 없다.종료자를 호출할 수 없다. 자동으로 호출된다.CLR의 가비지 컬렉터가 객체가 소멸되는 시점을 판단해서 종료자를 호출한다.종료자는 한정자(접근지정자x)를 사용하거나 매개 변수를 갖지 않는다.종료자 예제
![[C#] Random.InitState() - 동일한 랜덤 값 얻기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEQsG4%2FbtsG3fPnbBm%2F8eKhTbaK7Uwf31ouSH7wm1%2Fimg.jpg)
유니티[C#]를 이용하여 Random.InitState()로 동일한 랜덤 값 얻기일단 랜덤 한 값을 얻고 싶다면, Random.Range()로 만들 수 있을 것이다.그렇다면 결과는 당연히 매번 다른 랜덤값이 출력될 것이다. 하지만 이 결과를 Random.InitState()를 이용하여 매번 동일하게 만들 수 있다.이 부분을 추가하고 다시 실행해 보면 이 결과 값을 기억하고 다시 실행해 봐도 이렇게 동일한 값이 나오는 것을 볼 수 있다.시드가 동일하면 동일한 값으로 동일한 알고리즘을 연산하기 때문에 값이 항상 똑같다. 게임개발로 치면, 클라이언트 하고 서버와의 랜덤 동기화를 위해서 사용하는 것이 바로 시드이다. 출처 및 참고: 강의 짱 잘하시는 울 유니티 선생님 수업
![[C#] 리플렉션 (Reflection)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKun46%2FbtsGWNeiLWj%2FmnwpMJpSgCSrkNHz12fc80%2Fimg.jpg)
리플렉션 (Reflection)➡️ 어떤 Type에 대한 정보를 가져오거나 접근하는 등의 작업을 런타임에 동적으로 수행할 수 있도록 해주는 기능이다.리플렉션을 사용하면 런타임에서 메서드를 호출하거나 필드의 값을 바꾸는 등의 작업을 할 수 있다. 다음은 리플렉션을 이용해서 할 수 있는 것들이다.어셈블리 내의 형식에 대한 메타데이터에 접근할 수 있으며, 여기는 전체 형식 이름, 멤버 이름, 특성 등이 포함된다.컴파일 타임에 정의되는 바인딩 대신 메타데이터를 사용해서 런타임에 동적으로 형식의 멤버를 호출할 수 있다.리플렉션은 어셈블리에 포함된 메타데이터를 검사하는 프로세스다.리플렉션을 통해 어셈블리 내의 모든 형식을 열거하고 특정 조건에 부합하는 정보를 찾는 것이 가능하다.형식에 접근할 때는 System.Ty..
![[C#] 제네릭 클래스(Generic Class)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbuXRW7%2FbtsGIPvI7EW%2Fw5gVSYE2XcsjojzfeBFZc0%2Fimg.jpg)
제네릭 클래스(Generic Class)클래스 내부의 멤버 변수의 데이터 타입을 일반화한 클래스이다.특정 타입에 국한되지 않고 모든 타입을 멤버 변수의 타입으로 설정할 수 있다. ➡️멤버 변수의 데이터 타입 때문에 여러 개의 클래스를 작성해야 하는 경우 한 개의 클래스로 구현할 수 있는 기법제네릭 선언1234public class GenericClassT>{ public T member { get; set; }}Colored by Color Scriptercs ⚠️ : 제네릭 클래스 멤버 변수의 데이터 유형을 표시하는 기호⚠️ 객체 생성1GenericClassint> genericObject = new GenericClassint>();cs제네릭의 장점제네릭 클래스는 타입 검사를 엄격하게 하기 때문..
![[C#] Collection Class : List (Sort, IComparer, BinarySearch(), FindAll()](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqiV4t%2FbtsGHGr8NnL%2FqQGECKyjTUszVBuk6pZMWk%2Fimg.jpg)
Collection Class: Collection으로 부터 상속받은 애들⚠️ using System.Collections; / using System.Collections.Generic; 를 써줘야 동작한다⚠️List CollectionSort() : 정렬: 배열을 정렬해주는 함수 - int 타입➡ 오름차순, string(또는 char) 타입 ➡ 알파벳순123456789101112131415Liststring> list = new Liststring>(){ "Unreal", "Unity", "Lumberyard", "Houndini", "Box2D", "PhyX", "FMOD", "SpeedTree"}; list.Sort(); // 정렬 Print(lis..
![[C#] SQO / SQL / LinQ](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbkgsPu%2FbtsGEqxx0K0%2FnmyuXcKSGIcb8HAzKiFWx0%2Fimg.jpg)
SQO : 표준 질의 연산자(람다를 이용하여 질의를 편하게 하려는것 [단순한 데이터를 다룰 때]) Structured Query Operator표준 질의 명령 (표준 요구 명령) [일단 예제를 보기위해 데이터를 작성해준다 / 하단 코드 참고]12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312..