728x90
๋๋ค์ ์ ์ธํ๋ ๋ฒ
๋๋ค์์ ๊ธฐ๋ณธ์ ์ผ๋ก
(๋งค๊ฐ๋ณ์ ๋ชฉ๋ก) => ์ ํน์ {์ฝ๋๋ธ๋ก}
ํํ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ์๋ฅผ ๋ค์๋ฉด ์๋ ๋ ์ฝ๋๋ ๊ฐ์ ๋ฌด๋ช
ํจ์๋ฅผ ์๋ฏธํ๋ค.
HelloWorld H = delegate(int a, int b)
{
return a + b;
}
HelloWorld H = (a, b) => a + b;
Func ๋๋ฆฌ์
Func ๋๋ฆฌ์๋ ์ต๋ 16๊ฐ์ ๋งค๊ฐ๋ณ์๋ฅผ ๊ฐ์ง ์ ์๋ค. (0๊ฐ ~ 17๊ฐ)
Func<int, int> addOne = (int x) => x + 1;
int result1 = addOne(5); // 6
๋ณดํต์ Func<int, int>๋ผ๊ณ ์ ์ธํ๊ธฐ ๋ณด๋ค๋, var๋ก ์ ์ธํ๋ค.
var addTwo = (int x) => x + 2;
int result2 = addTwo(5); // 7
Action ๋๋ฆฌ์
Action ๋๋ฆฌ์๋ ๋ฐํ ๊ฐ์ด ์๊ณ , ์ด๋ ํ ์์ ๋ง ํ ๋ ์ฌ์ฉํ๋ค.
Action greet = () => Console.WriteLine("Hello, world!");
greet(); // "Hello, world!" ์ถ๋ ฅ
์ฝ๊ฒ ๋งํ์๋ฉด, Func๋ public int A(){} ์ฒ๋ผ ๋ฐํ๊ฐ์ด ์๋ ๊ฒ, Action์ void์ฒ๋ผ ๋ฐํ ๊ฐ์ด ์๋ ๊ฒ์ด๋ค.
728x90
'๐ฅ๏ธ > C#' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C#] ๋ฆฌํ๋ ์ (Reflection) (0) | 2023.10.10 |
---|---|
[์ด๊ฒ์ด C#์ด๋ค] Chapter15: ์ฐ์ต๋ฌธ์ (LINQ) (0) | 2023.10.05 |
[C#] ๋๋ฆฌ์(delegate)์ ์ด๋ฒคํธ (0) | 2023.09.10 |
[์ด๊ฒ์ด C#์ด๋ค] Chapter12: ์ฐ์ต๋ฌธ์ (0) | 2023.08.25 |
[C#] try catch์ throw๋ฌธ/์ (0) | 2023.08.25 |