액션 + 람다함수

RudinP·2023년 3월 27일
0

Study

목록 보기
11/211

액션

  • 유니티에서 제공하는 미리 만들어진 델리게이트
    delegate void Work(); 와 같이 매개변수와 리턴 값이 없는 델리게이트는 많이 쓰임.
  • 따라서, 유니티에서 미리 정의하고 제공함.(using System)
    delegate void Work(); -> Action work;

람다함수 (익명함수)

  • 코드 도중에 이름이 없는 함수를 만들고 변수와 같이 여러 곳에 대입 가능
  • 오브젝트 처럼 여기저기 주고받고 변수에 저장 가능
  • 즉석으로 만들고 델리게이트에 저장 가능
  • C# 컴파일러에서는 람다함수의 형식을 지정하지 않아도 자동지정 됨.

람다 함수 추천 상황

  • 한 두줄로 이루어진 메서드 또는 프로퍼티
    • 특히 한줄로 이루어진 get 프로퍼티가 존재하는 경우

변수 => 실행문(변수);

void Start()
{
	onSend += SendMail;
    onSend += SendMoney;
    onSend += man => Debug.Log("lambda" + man); //short ver
    
    onSend += (string man) => { Debug.Log("lambda" + man); Debug.Log(" "); }; //long ver
}
 
public int Health {
	get { return health; }
	set { health = value; }
}
 
public bool IsDead {
	get { return (health <= 0); }
}
private int health = 0;
 
public int Health {
	get => health;
	set => health = value;
}
 
public bool IsDead => (health <= 0);
profile
곰을 좋아합니다. <a href = "https://github.com/RudinP">github</a>

0개의 댓글