delegate 3

[C#] Delegate와 익명메소드

[C#] Delegate와 익명메소드익명 메소드란 이름이 없는 메소드다.한 번 사용하고 다시 사용할 일이 없을 것 같다면 익명메소드를 사용하는 게 편하다.Delegate 선언delegate int Calculate(int a, int b);메인static void Main() { Calculate calc1, calc2; calc1 = delegate (int x, int y){return x + y;}; calc2 = (x, y) => {return x - y;}; ​ Console.WriteLine(calc1(5, 6)); Console.WriteLine(calc2(5, 6)); }11 -1calc1(더하기)을 더욱 간단히 구현한게 calc2(빼기) 이다. calc2 와 같은 방식은 람다식이라고 부르..

아카이빙/C# 2018.06.25

[C#] Delegate는 언제 사용하는가

[C#] Delegate는 언제 사용하는가대표적으로 메소드를 매개변수로 넘기고 싶을때정렬 시, 비교 루틴을 매개변수로 넣어보자.Delegate 선언delegate int Compare(T a, T b);오름차순, 내림차순 메소드static int AscendCompare(T a, T b) where T : IComparable { return a.CompareTo(b); } ​ static int DescendCompare(T a, T b) where T : IComparable { return a.CompareTo(b) * -1; }Compare delegate를 매개변수로 받는 정렬 메소드static void BubbleSort(T[] dataSet, Compare Comparer) { T temp;..

아카이빙/C# 2018.06.25

[C#] Delegate (대리자)

[C#] Delegate (대리자)Delegate란?특정 매개변수들이나 반환형식이 있는 메소드에 대한 참조를 나타내는 형식 (C/C++의 함수 포인터)Delegate를 인스턴스화하면 모든 메소드가 있는 인스턴스를 호환되는 반환형식에 연결할 수 있으며, Delegate의 인스턴스를 통해 메소드를 호출 할 수 있다.메소드를 다른 메소드에 인수로 전달하는 데에 사용된다.콜백 메소드를 정의할 수 있다.사용 예class MainApp { //string을 인수로 받고, void를 반환하는 delegate 선언 public delegate void Del(string message); ​ public static void DelegateMethod(string message) { Console.WriteLine("..

아카이빙/C# 2018.06.25