μ½λ λ΄ ν λ©λͺ¨λ¦¬ μ΅μ ν
νλ‘κ·Έλ¨μ λ§λ€ λ ν λ©λͺ¨λ¦¬ μμμ νλ‘κ·Έλλ¨Έκ° νμ μ κ²½ μ¨μΌ λλ μ€μν λ©λͺ¨λ¦¬ μμμ΄λ€.
μ λν°μμ ν λ³μκ° μμ±λ λ μ¬μ λ©λͺ¨λ¦¬κ° μΆ©λΆνμ§ μλ€λ©΄ GCμ μννλ€.
νμ§λ§ GCμ κ½€λ λ¬΄κ±°μ΄ μμ
μ΄κΈ° λλ¬Έμ μ΄ μκ° νλ μ λλ‘μ΄ λ°μνλ€.
μ΄λ₯Ό κ°μ νκΈ° μν΄ μ΅κ·Όμλ Inscremental GC κΈ°λ₯μ΄ μ
λ°μ΄νΈλκΈ΄ νμμ§λ§,
κ·Έλλ GCμ λμμ΄ λλ ν ν λΉμ μ΅λν λ§λ€μ§ μλ κ²μ΄ μ’λ€.
1) μμ£Ό μ¬μ©λλ μ°Έμ‘° λ³μλ μΊμ±νκΈ°
private Button btn;
void Start()
{
btn = GetComponent<Button>();
}
public void MyMethod()
{
//Button btn = GetComponent<Button>(); // ν¨μ νΈμΆμ λ§λ€ ν λ©λͺ¨λ¦¬λ₯Ό ν λΉνλ€.
SomeMethod(btn);
}
2) 컬λ μ μ μλ‘ λ§λ€ λ λ°μνλ κ°λΉμ§
private List<int> myList = new List<int>();
public void Update()
{
//List<int> myList = new List<int>(); // 맀 νλ μ μ 컬λ μ
μ μμ±νκ³ μλ€.
myList.Clear(); // 컬λ μ
μ Clear()λ‘ λ΄μ©μ λΉμμ μ¬μ©νλ©΄ κ°λΉμ§λ₯Ό μ€μΌ μ μλ€.
SomeMethod(myList);
}
3) λ¬Έμμ΄ μ°κ²° μ λ°μνλ κ°λΉμ§
2023.03.18 - [π Language/β C#] - [C#] string κ°μ²΄ μ¬μ©μμ νν νλ μ€μ
string name = "Mark";
string str = "My Name : ";
str += name;
4) Unity ν¨μ νΈμΆμμ λ°μνλ κ°λΉμ§
public void MyMethod()
{
Vector3[] normals = myMesh.normals;
for (int i = 0; i < normals.Length; i++)
{
//Vector3 normal = myMesh.normals[i]; //λ°°μ΄μ λ°ννλ Unity ν¨μμ μ‘μΈμ€ ν λλ§λ€ μ λ°°μ΄μ΄ μμ±λμ΄ λ°νλ κ°μΌλ‘ μ λ¬λλ€.
Vector3 normal = normals[i];
}
}
string playerTag = "Player";
void OnTriggerEnter(Collider other)
{
//if(other.gameObject.tag == "Player") // GameObject.tagμ΄λ GameObject.name μ κ·Ό μμλ λ§€λ² λ¬Έμμ΄μ μμ±ν΄μ λ°ννλ€.
if(other.gameObject.CompareTag(playerTag))
{
//...
}
}
5) μ½λ£¨ν΄μμ λ°μνλ κ°λΉμ§
WaitForSeconds delay = new WaitForSeconds(1f);
While(true)
{
//yield return 0; // 0μΈ int κ° λ³μκ° boxingλκΈ° λλ¬Έμ κ°λΉμ§λ₯Ό λ°μμν¨λ€.
//yield return new WaitForSeconds(1f); // λ§€λ² μλ‘μ΄ κ°μ²΄κ° μμ±λλ€.
yield return delay;
}