반응형

DEV/Unity C# 5

[C#] 액세스 한정자 (Access Modifiers)

모든 형식과 형식 멤버에는 사용 중인 어셈블리나 기타 어셈블리의 다른 코드에서 사용될 수 있는지 여부를 제어하는 액세스 가능성 수준이 있다. 다음 액세스 한정자를 사용하여 형식 또는 멤버를 선언할 때 해당 항목의 액세스 가능성을 지정할 수 있음. public - 동일한 어셈블리의 다른 코드나 해당 어셈블리를 참조하는 다른 어셈블리의 코드에서 형식이나 멤버에 액세스 private - 같은 클래스 또는 구조체의 코드에서만 형식 또는 멤버에 액세스 protected - 같은 클래스 또는 해당 클래스에서 파생된 클래스의 코드에서만 형식 또는 멤버에 액세스 internal - 동일한 어셈블리의 코드에서는 형식이나 멤버에 액세스할 수 있지만 다른 어셈블리의 코드에서는 액세스 불가능 protected internal..

DEV/Unity C# 2019.05.12

[C#] Garbage Collection: Mark and Sweep

용어정의 1. Object: 힙의 저장소 단위. 일반적으로는 OOP의 객체를 의미하지만 절차 언어, 또는 함수 언어에도 동일하게 적용된다. 2. Object / Reference graph: 메모리에서 object들의 방향을 나타내는 그래프. 다음 그림이 예이다. node는 메모리에 있는 object이고 edges(arrows)는 한 object가 다른 object의 참조를 들고 있음을 표현하고 있다. object3 , object5 그리고 object6 에서 순환참조가 발생한다. 3. Roots: reference graph에서 시작점의 집합을 뜻한다. roots는 스택에서의 로컬 변수, 전역 변수가 될 수 있다. 위의 예시에서는 녹색 node가 roots에 속한다. 4. Unreachable obje..

DEV/Unity C# 2019.05.11

인터페이스 IEnumerator 와 IEnumerable의 차이

반복자(iterator)에 대한 C#에서 제공하는 인터페이스 세트 foreach를 사용하기 위한 공통 인터페이스를 제공하는데 IEnumerable 클래스이다. IEnumerable + GetEnumerator GetEnumerator는 IEnumerator를 리턴 값으로 가지게 되는데 이 IEnumerator라는 클래스는 쉽게 말해서 땅바닥에 물건들이 널려있다고 가정할때 물건을 가르키는 손가락 같은 역할을 하게된다. IEnumerator + Current + MoveNext + Reset 3가지의 구현해야하는 공통메소드가 있으며, 현재 시점의 개체와 다음 개체, 그리고 현재의 가리키는 손가락을 처음으로 되돌리는, 3가지 약속된 역할을 하는 메소드가 정의되어 있다. 또한 IEnumator를 리턴값으로 뒀을..

DEV/Unity C# 2019.05.09

[C#] how to convert string[] to int[]? 배열 캐스트 변환에 대하여

알고리즘을 풀다가 인풋을 받아서 문자열을 다른 값들로 캐스트 하고자 할 경우 예를 들어서, "45,23,5,4,1,123,58,7,71,11" 이런 값의 인풋을 받았다고 쳤을때, string.split(','); 을 사용하면 string[]이 나오게 되는데, 함수 파라미터로 넘겨서 사용하기 전에 int[]로 변환해야 한다면? for문으로 다 넘겨도 좋지만 코드 한줄로 넘겨준다면 기분좋을거 같다. 당연히 있다. 특정 를 로 변환해주는 함수다. 아래 코드처럼 사용하면 된다. int[] result = Array.ConvertAll( string[] input, ( e ) => int.Parse(e));

DEV/Unity C# 2019.05.02
반응형