본문 바로가기
반응형

프로그래밍 이야기/GameDev33

[C#] Lamda, Func, Action Lamda Lamda는 익명 메소드이며 Delegate의 익명 메소드를 좀 더 간결하게 표현할 수 있는 문법이다. Delegate의 익명 함수의 사용 방식은 아래와 같다. // Delegate 형식 선언 및 정의 delegate int DelegateExample(int a, int b); // 사용할 함수 int Sum(int a, int b) { return a + b; } // 일반적인 사용방식 DelegateExample de1 = Sum; // 익명 함수 선언 및 사용 DelegateExample de2 = delegate(int a, int b) { Console.WriteLine("a + b = " + (a + b) ); } de2는 Sum을 사용하지 않고 직접 익명 함수를 적용했다. 이것을.. 2020. 11. 29.
[C#] Delegate, Event 이제 함수도 파라미터로 넘겨보자. 함수의 유연성, 확장성! Delegate를 통해서 함수조차도 변수로 만들 수 있다. 즉 변수를 함수의 파라미터로 전달하는 것처럼, 함수도 Delegate를 통한 변수화를 통해 매개변수로 전달이 가능하다. 이로 인한 함수의 활용성과 확장성이 놀랍게 향상 된다. Delegate의 기본 형태 delegate [리턴 타입] [함수 대리자 이름] (매개변수 ...) delegate int DelegateExample(int a, int b); int Sum(int a, int b) { return a + b; } 사용하고자 하는 함수 Sum()이 있다. 이 함수의 형태(리턴타입, 매개변수)를 그대로 delegate 선언에 맞춰준다. Delegate의 사용 방법 기본 선언 방법 D.. 2020. 11. 26.
C#코딩 연습 - Indexer Indexer는 클래스나 구조체의 인스턴스를 배열처럼 인덱싱하게 해준다. 아래의 예제에서 this[int index]가 그 핵심 코드이다. this 객체에 배열과 같은 접근을 허용하면서 내부의 data 배열에서 하나의 값을 return 하거나 입력 해준다. class LH2Demo_Indexer { // 배열의 크기 private const int MAX = 10; // 배열 생성 private int[] data = new int[MAX]; // Indexer public int this[int index] { get { // 입력 index가 허용 법위인지 검사 if (index = MAX) { throw new IndexOutOfRangeException(); } else .. 2020. 11. 21.
C#코딩연습 - 클래스 연습 오늘은 클래스의 상속과 인스턴스 관리에 대한 연습을 해봤습니다. Babarian, Giant, Healer의 인스턴스들을 관리하는 UnitControl 클래스와 이에 대한 구현이 본 내용의 핵심입니다. 오늘까지 강의 수강 진행률이 거의 40%. 화이팅~! class Army { protected int _HP; protected int _MP; protected int _Speed; protected int _Attack; public virtual void Run() { Console.Write("Speed : {0}, ", _Speed); } public virtual void Attack() { // 줄내림 Console.WriteLine(); // Console.Write("Att : {0}, ".. 2020. 11. 18.
반응형