일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- android 효과음
- WebView
- 폼메일
- 자바스크립트
- 우분투
- C# IO
- php 취약점
- PHP
- Android
- UML
- dovecot
- mysql
- xe
- C#
- FCM
- 안드로이드 푸쉬
- roundcube
- soundpool
- 안드로이드
- 자동 생성
- 설치
- chart.js
- 안드로이드 푸시
- javascript
- not working
- html5
- 안드로이드 gcm
- php 시큐어코딩
- curl
- Mail Server
- Today
- Total
그러냐
델리게이트(delegate) 활용_1 본문
using System;
using System.Collections;
namespace FirstCon
{
class Program
{
public static int Add(int a, int b) { return a+b; }
public static int Mul(int a, int b) { return a*b; }
static void Main()
{
int a = 3, b = 5;
int o;
Console.Write("어떤 연산을 하고 싶습니까? (1: 덧셈, 2: 곱셈) " );
o = Convert.ToInt32(Console.ReadLine());
switch(o)
{
case 1:
Console.WriteLine("결과는 {0} 입니다.", Add(a, b));
break;
case 2:
Console.WriteLine("결과는 {0} 입니다.", Mul(a, b));
break;
}
}
}
}
/ *
사용자에게 어떤 메서드를 호출할 것인가를 키도브로 입력 받아 switch 문으로 두 메서드 중 하나를 선택하여 호출한다. 선택해야 할 메서드가 두 개 정도라면 switch 문도 쓸만하고 if문이나 삼항 조건 연산자로 더 짧게 만들 수도 있다. 그러나 수십 개의 메서드 중 하나를 호출해야 한다면 switch 문의 case 를 일일이 작성하는 것은 속도도 느릴 뿐만 아니라 프로그램도 비대해지고 보기에도 좋지 않다.
다음은 델리게이트를 활용한 코드이다.
*/
using System;
using System.Collections;
namespace FirstCon
{
delegate int IntOp(int a, int b);
class Program
{
public static int Add(int a, int b) { return a + b; }
public static int Mul(int a, int b) { return a * b; }
static void Main()
{
IntOp[] arOp = { Add, Mul };
int a = 3, b = 5;
int o;
Console.Write("어떤 연산을 하고 싶습니까? (1: 덧셈, 2: 곱셈) ");
o = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("결과는 {0} 입니다.", arOp[o - 1](a,b));
}
}
}
[출처] 델리게이트(delegate) 활용_1|작성자 뚜비
'c#' 카테고리의 다른 글
php md5() 함수와 동일한 기능의 C#함수 (0) | 2016.01.28 |
---|---|
델리게이트(delegate) 활용_2 (0) | 2016.01.28 |
C# 2.0의 새로운 기능들 (0) | 2016.01.28 |
C# Socket 클레스를 이용한 바이트단위 Socket 프로그램 (0) | 2016.01.28 |
Invoke , BeginInvoke, MethodInvoker (2) | 2016.01.28 |