lambda ์ ?
ํจ์์ ์ธ์๊ฐ์ผ๋ก ํจ์๋ฅผ ๋ฃ๊ธฐ ์ํด, + ๋ ๊ฐ๋จํ๊ฒ ๊ตฌํํ๊ธฐ ์ํด ๋ง๋ ๋ฌธ๋ฒ.
lambad ์์ ์ ์ธํ ์๋ฆฌ์์'๋ง' ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ ๊ทผ์ง์ ์, ๋ฐํ๊ฐ, ์ด๋ฆ์ด ํ์์๋ค.
์ฌ์ฌ์ฉํ์ง ์์ ํจ์๋ฅผ ๋ฐ๋ก ๊ตฌํํ์ง ์๊ณ ๋ฐ๋ก ํธ์ถํด์ ํ๋ฒ๋ง ์ฌ์ฉํ ๋ ํธ๋ฆฌํ๋ค.
์ ๊ฐ๋ ์ ๋ฐํ์ผ๋ก ์๋ ํจ์๋ฅผ lambda ์์ผ๋ก ๋ฐ๊ฟ๋ณด์.
public void LambdaTest(){
Debug.Log("LambdaTest");
}
() => { Debug.Log("LambdaTest"); }
์ธ์์ ๋ฐํ๊ฐ์ด ์๋ ํจ์๋ ์ด๋ป๊ฒ ๋ฐ๊ฟ๊น
public int Add(int a, int b){
return a + b;
}
(int a, int b) => { return a + b; }
์ฌ์ฉ์์๋ฅผ ์ดํด๋ณด์.
class Test {
private void Start() {
LambdaTest(() => {
Debug.Log("Lambda Test");
});
}
private void SayLambda() {
Debug.Log("Lambda Test");
}
private void LambdaTest(Action action) {
action();
}
}
์์ ๊ฐ์ด LambdaTest ํจ์์ ํจ์๋ฅผ ๋ฃ๊ณ ์ ํ ๋, LambdaTest ํจ์์๋ Action ์ด๋ ์ธ์๋ฅผ ๋ฃ๊ณ ํธ์ถ ์ชฝ์์๋ ๋๋ค์์ ์์ฑํ๋ฉด ํธํ๋ค. ๊ตฌ์ง SayLambda() ๋ผ๋ Debug ํจ์๋ฅผ ์์ฑํ ํ์ ์๋ค๋ ๋ป.
'๐ฎ Unity Study > C#' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C#] C# ๋ฒ์ ๋ณ ์ถ๊ฐ๊ธฐ๋ฅ ์ฌํญ, .NET & Visual Studio ๋ฒ์ (0) | 2023.08.18 |
---|---|
[C#] Hash ? (0) | 2023.08.17 |
[C#] ๋๊ธฐ/๋น๋๊ธฐ (feat. Coroutine, Task, async/await) (0) | 2023.08.16 |
[C#] Action ๊ณผ Func (feat. Delegate, callback) (0) | 2023.08.16 |
[C#] List ๊ฐ์ Enumerable ํด๋์ค์์ ์ฌ์ฉํ ์ ์๋ ํจ์๋ค (0) | 2023.04.26 |