Programming
Null 조건 연산자 vs Null 비교? if != null vs Action.Invoke | Null Conditional Operator VS .Invoke()
DragonTory
2022. 6. 9. 10:48
반응형
Null 조건 연산자 vs Null 비교? if != null vs Action.Invoke | Null Conditional Operator
Action something = null;
if( something != null )
{
something();
}
으로 사용 하는 것과 c# 6.0이상부터는
something?.Invoke();
으로 사용 가능 한데
왠지 유니티에서 Invoke() 를 사용 하면 느리다는
그런 정보를 본적이 있어서 사용을 좀 꺼렸었는데
Action에서 ()로 함수를 호출 하면 컴파일러가 Invoke()로 변환 하기 때문에
사용상 동일한 코드라는 것이다.
이제
if( somthing != null ) something.Invoke();
somthing?.Invoke();
로 사용 하자.
단, Unity의 GameObject 같은 유니티 Object는
? ( null ) 연산자를 사용 하면 에러가 발행 해서 사용 할 수 없다.
(Invoke()외에도 .transform 같은... )
반응형