오브젝트 빠른 비교 - System.Object.ReferenceEquals
공부/Unity2017. 4. 18. 10:19
오랜만에 유니티 글이네요.
오브젝트 비교하는 구문을 예로 들자면
if (player.gameobject == other.gameobject)
{
//코드...
}
위와 같이 == 로 비교 하는게 편했고 잘 사용해 왔다.
근데 이 간편한 구문보다 약 2배 빠른 비교 방법이 있다는걸 이제 알았다.
원래는 C#의 문법인데 아래 MSDN 참조해보자.
https://msdn.microsoft.com/ko-kr/library/system.object.referenceequals(v=vs.110).aspx
//이건 C# - if(Object.ReferenceEquals(player.gameobject, other.gameobject))
//유니티에선 아래
if(System.Object.ReferenceEquals(player.gameobject, other.gameobject))
{
//코드...
}
주의 할 점은 Reference에 대한 비교이다 보니
값이 같아도 Reference위치가 다르거나 Value Type이면 False가 떨어진다는 점이다.
null 비교에도 좋다.//System.Object.ReferenceEquals(gameobject, null)
'공부 > Unity' 카테고리의 다른 글
유나이트 2017 초급 트레이닝 후기 (0) | 2017.05.15 |
---|---|
유나이트'17 서울 개최(유니티 컨퍼런스) (0) | 2017.03.28 |
유니티에서 배경 이미지 무한 루프 시키기 (0) | 2016.10.07 |
[유니티]드로우콜(Draw call) 최적화 (0) | 2016.09.01 |
포트폴리오 잘하는 법 (0) | 2016.08.25 |