1. C#에서 var타입 변수 (var type in C#)
- 암시적 변환 가능 타입
- 클래스 내의 필드 데이터로 사용할 수 없음 (메서드 내의 지역변수로 사용)
- return, parameter 로 사용할 수 없음
- null로 초기화 할 수 없음
- 초기값과 다른 type의 값을 저장할 수 없음
- 선언과 동시에 초기화
ex)
1 2 3 4 5 6 7 8 9 10 | public class Example { public void test() { var num = 10; //num = "abc"; //error : int형만 저장할 수 있음 } //public var second(var n) { //error : return, parameter로 사용 불가 //} } | cs |
1번 참고) http://durubiz.tistory.com/entry/C-암시적-타입변환-변수-var-타입, https://stackoverflow.com/questions/4307467/what-does-var-mean-in-c
2. Action
Action을 처음 보는 나는 그저 혼돈의 카오스.... 정의하는 방법도 넘나 생소한것 8ㅅ8
- Action은 return과 parameter가 없는 함수 포인터(=Delegate, 위임자)
(참고 : Delegate는 일종의 함수 포인터, 내부적으로 Count 만큼 List를 순회하는 연결리스트 구조 생성)
- 결과 반환이 목적이 아니라 일련의 작업 수행이 목적
ex) 지금 분석중인 코드에서 가져옴
1 2 3 4 5 6 7 | Action applyHue = () => { var i0 = Mathf.Clamp( ( int )Hue, 0, 5 ); var i1 = ( i0 + 1 ) % 6; var resultColor = Color.Lerp( hueColors[i0], hueColors[i1], Hue - i0 ); satvalColors[3] = resultColor; resetSatValTexture(); }; | cs |
- 형식
//메소드 내에서 선언
Action [Action명] = () => {
//action code
};
2번 참고) https://bong9.blog/2014/09/02/c-action-%EA%B3%BC-delegate-%EB%9E%8C%EB%8B%A4%EC%8B%9D-action-func-event/
3. Mathf struct의 Funtion
- Mathf.Min / Mathf.Max : 2개 이상의 parameter 중에서 최솟값/최댓값 return
- Mathf.Repeat(t, length) : length 범위를 t만큼 반복, 0 ~ legnth 사이의 값 return
나머지 연산이 float으로 동작하고 t의 값만큼 length 내에서 순환하기 때문에 t 가 length보다 큰 경우, 순환함
- Math.Clamp(value, min, max) : min ~ max 사이의 값이 value 범위 내에 있도록 함
value<min<max ☞ min 반환
min<value<max ☞ value 반환
min<max<value ☞ max 반환
ex)
1 2 3 4 5 6 7 8 9 10 11 | Mathf.Min( color.r, color.g, color.b); // color의 r, g, b 값 중에 가장 작은 값 반환 Mathf.Repeat( (color.g - color.b) / d, 6); // 6을 (g-b)/d의 값 만큼 반복 Mathf.Repeat(9, 4); // 1 return Mathf.Repeat(5, 2.5); // 0 return Mathf.Repeat(3.0, 2.5); // 0.5 return Mathf.Clamp((int)Hue, 0, 5); // 0 ~ 5사이의 값을 Hue 범위 안에 지정 Mathf.Clamp(9, 3, 7); // 7 return Mathf.Clamp(5, 3, 7); // 5 return Mathf.Clamp(2, 3, 7); // 2 return | cs |
3번 참고) https://docs.unity3d.com/kr/current/ScriptReference/Mathf.html, http://bureau.tistory.com/47
천천히, 꾸준히 syaring's blog
오류 정정, 피드백 언제나 환영합니다!