C#
C#_delegate2:익명메서드, 람다식
S_pot
2021. 6. 14. 10:46
namespace _210614_002
{
public delegate void SMART();
public delegate int SMART2(int iNum);
class Program
{
static void Main(string[] args)
{
SMART A;
A = () => // delegate () 와 같다.
{
Console.WriteLine("임시로 만든 메소드");
};
A();
}
static void Main4(string[] args)
{
SMART2 A;
A = Test2;
int iNum = A(100);
Console.WriteLine(iNum);
A = (int iNumber) => // 람다식
{
Console.WriteLine("익명 혹은 무명 메서드테스트");
return iNumber + 2;
};
iNum = A(100);
Console.WriteLine(iNum);
}
static void Main3(string[] args)
{
SMART2 A;
A = Test2;
int iNum = A(100);
Console.WriteLine(iNum);
A = delegate (int iNumber)
{
Console.WriteLine("익명 혹은 무명 메서드테스트");
return iNumber + 2;
};
iNum = A(100);
Console.WriteLine(iNum);
}
static void Main2(string[] args)
{
SMART2 A;
A = Test2;
int iNum = A(100);
Console.WriteLine(iNum);
}
// delegate를 활용해서 익명메서드 생성
static void Main1(string[] args)
{
SMART A;
A = Test1;
A();
A = delegate ()
{
Console.WriteLine("임시로 만든 메소드");
};
A();
A = delegate ()
{
Console.WriteLine("익명 메서드 테스트");
};
A();
}
static void Test1()
{
Console.WriteLine("Test1");
}
static int Test2(int iNum)
{
Console.WriteLine($"Test2 : {iNum}");
return iNum + 1;
}
}
}