본문 바로가기

프로그램 공부/C#

유니티 시작, 요약 정리 1

1. 강제 형변환

(자료형).Parse(변수)

ex) int.Parse(a);

→ 강제 형변환을 하면 오류가 발생하므로 조심히 써야한다.

 

 

2. Unsigned 대신 u

Unsigned int -> uint

Unsigned short -> ushort

 

 

3. 관계연산자로 불값 넣기

int a = 10;
int b = 10;
bool c = false;
 
= (a == b);
//a와 b의 값이 같으면 true값을 반환한다.
 
//ex
= (a != b);
= (a > b);
= (a < b);

 

 

4. 논리연산자로 불값 넣기

int a = 10;
int b = 10;
bool c = false;
 
= (a != b) && (a == b);
//&&은 반환되는 값이 모두 true이어야지 true로 반환 => false로 반환됨
//1개라도 false가 있으면 안된다.
 
= (a != b) || (a == b);
//||는 둘중 하나라도 true면 true로 반환 => true로 반환됨

 

 

5. sting 문자열 쪼개기

string text = "가나다라마바사";
foreach (char a int text)
{
   print(a);
}
//-> 가, 나, 다, 라, 마, 바, 사
//각각 한글자씩 쪼개져서 print된다.

 

 

6. 배열

1) 1차 배열

//1. 크기를 지정하지 않고 바로 초기화
int[] array1 = { 0,1,2,3,4 };
 
//2. 배열의 크기를 지정하기
int[] array2;
array2 = new int[10];
 
int[] array3 = new int[10];
 
//3. 배열의 크기 정하고 초기화해주기
int[] array4 = new int[5] { 0,1,2,3,4 };

 

2) n차 배열

//[,] ',(콤마)'를 넣음으로써 몇차 배열인지 알 수 있다.
 
//2차 배열
int[,] array2 = {{ 1,2,3 }, { 10,20,30 }};
 
//답안
array2[0,2== 3;
array2[1,1== 20;
 
 
//3차 배열
int[,,] array3 = {{{1,2,3}, {10,20,30}}, {{5,6,7}, {50,60,70}}};
 
//답안
array3[0,1,1== 20;
array3[1,0,2== 7;
 
 
 

7. 컬렉션

: 리스트, 큐, 스택, 해시테이블, 딕셔너리, 어레이리스트

1) ArrayList

//마치 벡터와 비슷하다.
ArrayList arrayList = new ArrayList();
 
//벡터의 PushBack과 비슷
arrayList.Add("가나");
//여러 자료형을 복합적으로 추가 가능
 
//벡터의 size와 비슷
 
 
/*ArrayList에 있는 요소 지우기*/
//내부에 있는 특정값을 지운다.
 
//특정 인덱스에 있는 것을 지운다.
arrayList.RemoveAt(3);
 
//특정 인덱스부터 여러개의 요소를 지운다.
//1번 인텍스부터 총 2개의 요소를 지운다.
arrayList.RemoveRange(1,2);
 
 
//벡터의 clear와 같다.
 
//그대로 복사해서 다른 어레이리스트에 넣는다.
 
//특정값이 있는지 확인 -> bool 값을 반환한다.
bool C = arrayList("가나");   //->true를 반환
 
//사이에 끼워넣기
//1번 인덱스 사이에 1.5를 끼워넣는다.
Equals -> 특정값과 같은가?
GetRange -> 특정 레인지 뽑아내기
IndexOf -> 인덱스를 통해 특정값 불러오기
 

2) List

List<자료형> 만들 리스트 이름 = new List<만든 자료형과 같은 자료형>();

ArrayList와 쓰는 방식은 같지만 특정 자료형이 필요하다. ≒ Vector<int> vector;

ex) List<int> list = new List<int>();

 

3) HashTable

HashTable hashTable = new HashTable();

hashTable.Add("키값", 값);

→키값과 값이 한세트로 필요하며 키값으로만 접근 가능하다. (인덱스 접근 x)

ex) hashTable.Add("일천", 1000);

 

4) Dictionary

≒ HashTable

해시테이블과 쓰는 방식은 같지만 특정 자료형이 필요하다.

Dictionary<키값의 자료형, 값의 자료형> 만들 딕셔너리이름 = new Dictionary<같은 키값 자료형,같은 값 자료형>();

ex) Dictionary<string, int> dictionary = new Dictionary<string, int>();

 

//큐와 스택은 자료형을 명시하는 것과 안하는 것 2가지가 있다.

5) Queue (선입선출, FIFO(First in First Of))

Queue<자료형> 만들 큐 이름 = new Queue<같은 자료형>():

ex) Queue<int> queue = new Queue<int>();

//큐에 넣는다.

queue.Enqueue(5);

//큐에서 꺼낸다.

queue.Dequeue();

 

6) Stack (후입선출, LIFO(Last In First Of))

Stack<자료형> 만들 스택 이름 = new Stack<같은 자료형>();

ex) Stack<int> stack = new Stack<int>();

//스택에 넣는다.

stack.Push(1);

//스택에서 꺼낸다.

stack.Pop();

 

//큐와 스택 예시

Queue == 포션제작 대기줄

Stack == 요리게임에서 설거지 같은 것