C# 연습문제 : 델리게이트와 이벤트 (뇌를 자극하는 C# 5.0)
2022. 9. 20. 22:14ㆍ문제/C# 연습문제
1. 출력 결과가 7과 2가 나오도록 아래의 코드에 익명 메소드를 추가하여 완성하세요.
using System;
namespace BookTestC
{
public delegate int MyDelegate(int a, int b);
public class Program
{
private static void Main(string[] args)
{
MyDelegate Callback;
Callback = /* 익명 메소드 선언 */
Console.WriteLine(Callback(3, 4));
Callback = /* 익명 메소드 선언 */
Console.WriteLine(Callback(7, 5));
}
}
}
using System;
namespace BookTestC
{
public delegate int MyDelegate(int a, int b);
public class Program
{
private static void Main(string[] args)
{
MyDelegate Callback;
Callback = delegate (int a, int b)
{
return a + b;
};
Console.WriteLine(Callback(3, 4));
Callback = delegate (int a, int b)
{
return a - b;
};
Console.WriteLine(Callback(7, 5));
}
}
2.출력 결과가 다음과 같이 나오도록 다음 코드에 이벤트 처리기를 추가하세요.
축하합니다! 30번째 고객 이벤트에 당첨되셨습니다.
using System;
namespace BookTestC
{
public delegate void MyDelegate(int a);
public class Market
{
public event MyDelegate CustomerEvent;
public void BuySomething(int customerNumber)
{
if (customerNumber == 30)
{
CustomerEvent(customerNumber);
}
}
}
public class Program
{
private static void Main(string[] args)
{
Market market = new Market();
market.CustomerEvent += new MyDelegate(/*이벤트 처리기를 구현하세요 */);
for (int customerNumber = 0; customerNumber < 100; customerNumber++)
{
market.BuySomething(customerNumber);
}
}
}
}
using System;
namespace BookTestC
{
public delegate void MyDelegate(int a);
public class Market
{
public event MyDelegate CustomerEvent;
public void BuySomething(int customerNumber)
{
if (customerNumber == 30)
{
CustomerEvent(customerNumber);
}
}
}
public class Program
{
public static void MyHandler(int number)
{
Console.WriteLine("축하합니다! {0}번째 고객 이벤트에 당첨되셧습니다.", number);
}
private static void Main(string[] args)
{
Market market = new Market();
market.CustomerEvent += new MyDelegate(MyHandler);
for (int customerNumber = 0; customerNumber < 100; customerNumber++)
{
market.BuySomething(customerNumber);
}
}
}
}
'문제 > C# 연습문제' 카테고리의 다른 글
C# 연습문제 : LINQ (뇌를 자극하는 C# 5.0) (0) | 2022.09.25 |
---|---|
C# 연습문제 : 람다식 (뇌를 자극하는 C#5.0) (1) | 2022.09.21 |
C# 연습문제 : 일반화 프로그래밍 , 예외처리 (뇌를 자극하는 C# 5.0) (1) | 2022.09.19 |
C# 연습문제 : 배열,컬렉션 (뇌를 자극하는 C# 5.0) (0) | 2022.09.18 |
C# 연습문제 : 프로퍼티 (뇌를 자극하는 C# 5.0) (0) | 2022.09.17 |