Unity/내용 정리
Unity - 인덱서 / 열거형
olivia-com
2021. 7. 1. 02:43
인덱서
인덱서의 구조
접근_제한자 변환_타입 this[int index]{
get{ }
set{ }
}
using UnityEngine;
public class IndexerExample : MonoBehaviour
{
/*
* 인덱서의 구조
접근_제한자 변환_타입 this[int index]{
get{ }
set{ }
}
*/
void Start(){
/*
Grade gradeing = new Grade();
gradeing.grades[0] = 20;
for(int i = 0; i< gradeing.grades.Length; i++){
Debug.Log(gradeing.grades[i]);
}
*/
Grade grading = new Grade();
grading[0] = 20;
for(int i = 0; i< grading.grades.Length; i++){ // 객체의 길이를 구할 순 없음 즉, grading.grades.Length 대신 grading.Length 대체 불가능
Debug.Log(grading[i]);
}
/*
Grade gr = new Grade();
int[] grades = gr.grades;
grades[0] = 20;
for(int i = 0; i < grades.Length; i++){
Debug.Log(grades[i]);
}
*/
}
}
class Grade{
public int[] grades = {10, 50, 90, 70, 30};
public int this[int index]{
get{
return grades[index];
}
set{
grades[index] = value;
}
}
}
열거형
열거형
: 숫자에 이름을 붙인 것
* 열거형의 구조
enum 열거형_이름{
요소1, 요소2, 요소3 ...
}
using UnityEngine;
public class EnumExample : MonoBehaviour
{
/*
열거형: 숫자에 이름을 붙인 것
* 열거형의 구조
enum 열거형_이름{
요소1. 요소2, 요소3 ...
}
*/
string[] names = {"john", "chulsoo", "bbobbi", "olivia"};
void Start()
{
Debug.Log((int)Days.Mon); // 0
Debug.Log((int)Days.Sat); // 5
Debug.Log(name[2]); // bbobbi
Debug.Log(names[(int)Names.bbobbi]); // 2
}
}
enum Days{
Mon, Tue, Wed, Thurs, Fri, Sat, Sun // 각각 0,1,2 ... 로 지정
/*
Mon, Tue, Wed, Thurs = 7, Fri, Sat, Sun 라고 하면 각각
0 1 2 7 8 9 10 으로 지정됨
*/
}
enum Names{
john, chulsoo, bbobbi, olivia
}