GetComponent<Player>().?Happy();
μ΄κ±΄ μλλ° μ½κ° μ΄λ°μμΌλ‘ μΈμμμλκ²κ°μλ°
κΈ°μ΅μ΄μλκ³ λͺ»μ°Ύκ² λ€
μλμ¬λ? λ¬Όμνμλ λλνμλμλ κ² κ°μλ°
GetComponent<Player>().?Happy();
μ΄κ±΄ μλλ° μ½κ° μ΄λ°μμΌλ‘ μΈμμμλκ²κ°μλ°
κΈ°μ΅μ΄μλκ³ λͺ»μ°Ύκ² λ€
μλμ¬λ? λ¬Όμνμλ λλνμλμλ κ² κ°μλ°
?.
μ κ·Όλ° μ λν° μ€λΈμ νΈμ ?. μ¬μ©μ fake null λ¬Έμ λλ¬Έμ μ£Όμν΄μΌ ν¨
https://blog.naver.com/PostView.nhn?blogId=ggzerosum&logNo=221975128850
κ·Έλ¬λ€ μμ λ체λ λͺ»νκ²λ€
λ νΈμμ±μ΄λ κ°λ μ±μ΄ μ°¨μ΄κ° 컀μ μμ λΆλΆ μ½λλ₯Ό μ£Όμν΄μ λ§λ€κ³ null propagationμ μ κ·Ή μ°λ νΈμ΄κΈ΄ ν¨
?? μ΄λ°μ°μ°μλ μμλ€ μ΄λ°μμΌλ‘ μ°λ©΄ λλ?public class Person{ public int age { get; set; }}public class a : MonoBehaviour{ Person person = new Person(); void Start() { //person.age = 3; print(person?.age.ToString() ?? "μ¬λ μ΄λ¦μ΄ μμ΄μ!"); }}
ifλ‘ μΌμΌμ΄ 체ν¬νλκ±°λ³΄λ€ μ’κΈ΄νλ€
λ무 κ°μννλ©΄ μλ μλ λ μμΈ λͺ»μ°Ύμ
delegate NULL체ν¬ν λ λ§€μ° νΈνλ―ν¨
if (TryGetCompnent(out Player player) { ... }
μ€ λ‘ν