Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Archives
Today
Total
관리 메뉴

시작은 0부터

C# 본문

카테고리 없음

C#

0base 2022. 10. 12. 12:49

[ 배열 ]

string charactorName = possibleNames[0];

possibleNames 배열 첫번째(인덱스0) 값을 가져와서 charactorName 이라는 새로운 string형 변수에 넣겠다는 뜻이다.

배열의 개수보다 큰 인덱스값을 넣으면 IndexOutOfBounds 라는 예외상황이 발생한다.

possibleNames 는 0부터 possibleNames.Length-1까지 인덱스를 가질 수 있다.

 

배열 범위 내 랜덤 값 넣기

int randomNameIndex = Random.Range(0, possibleNames.Length);

 

배열에 값을 넣기 위해서는 new 를 통해서 메모리 할당을 해야한다.

int[] array = new int[5];

 

기존 배열에 새로 할당한다는 것은 기존 것이 모두 삭제된다는 뜻이다.(정확하게는 사용되지 않는다는 뜻)

int[] array = new int[3];

array[0] = 1;

array[1] = 2;

array[2] = 3;

array = new int[10];

새로운 영역을 할당하여 다른 공간을 가리키기 때문에 기존에 가리키던 주소를 가리키지 않아 기존의 값이 사라진것처럼 보이게 된다.

 

array[0] 와 array[1] 에 값을 넣을 때는, 메모리 영역에 먼저 0번째 값을 넣고 그 다음 주소에 1번째 값을 넣는다.

 

2차원 배열 [ , ] 은 첫번째가 세로, 두번째가 가로라고 생각하면 된다.

 

[ 리스트 ]

 

미리 크기를 지정하는 배열과 달리 크기가 가변적으로 늘어날 수 있는 데이터.

List<string> 은 string 형 데이터를 구성요소로 하는 List 클래스를 생성한다는 뜻이다.

배열의 크기는 Length, 리스트의 크기는 Count 로 나타낸다.

Remove("string1") 함수를 이용해 리스트에서 하나의 값(string1)을 삭제할 수 있다.(메모리 상의 공간도 사라짐.)

List 내부 로직에선느 배열을 사용해서 구현하고 있다.

Add 함수를 통해 새 요소를 기존 배열에 추가하다 배열이 다차면 기존 크기의 2배가 되는 새로운 배열을 생성하고, 기존 데이터를 새로운 배열에 복사해서 메모리를 늘린다.

 

배열과 List 사용법

구성요소의 개수가 고정된 것이라면 배열을 사용.

고정이 아니라 변경될 수 있는 거싱라면 리스트를 사용.

 

오약

배열은 고정된 크기의 묶음을 저정하는 형식.

리스트는 배열보다는 늘지만, 구성 요소가 추가/삭제됨에 따라 동적으로 크기가 조정되고, 검색, 정려로가 같은 기능이 포함되어있다.

배열과 리스트는 모두 참조형식이며,인덱스가 0부터 시작된다.,

 

4차원 배열

float [ ] [ ]  List = new flat[2] [2];

 

[ 반복문 ]

 

형식

초기화, 조건문, 반복문

 

반복횟수가 정해져있다면 for문

뵌복횟수가 정해재지 않았다면  while 문

 

Continue는 나머지 부분을 건너뛰고 다음 반복으로 넘어간다.

 

노이즈 함수( 선형 보간 함수)

검은색 0, 흰색 1. 1에 가까울수록 경사가 가파르게 솟아오른다.

float height = scale = Mathf.PerlinNoise((float)y/MapHeight * scale, (float)x/Mapwidth * scale);

maps[y,x].SetPosition(x,height,y);

maps[y,,x].SetColor(Color.Lerp(Cloloer. black, Color.white, Mathf.InverseLerp(1, scale, height)));