상세 컨텐츠

본문 제목

step4 c# 기초 - 배열와 연속 데이터

개발생활/Unity Engine

by 한국인맛집 2022. 4. 4. 23:50

본문

반응형

 

배열

이전강의까지 하나의 자료를 저장하는 방법을 배웠다.

자료의 양이 많아지거나 연속데이터를 저장하는 방법은 배열을 사용해 구할수 있다.

 

 

배열을 사용하는 방법은 다음과 같다.

int[] number = new int[10];
float[] flo = new float[3];


 int[] myNumber = new int[] { 1, 0, 10, 7, 85 };
 

int[,] multi_1 = new int[2, 3];

int[,] multi_init_2 = { { 1, 2, 3 }, { 4, 5, 6 } };

int[][] array_2 = new int[3][];

 

배열을 초기화 하는 방법은 반복문을 활용하여 값을 초기화 할수 있다.

 

int[] number = new int[10];

for(int i = 0; i< number.Length; i++){
	number[i] = i+1;
}

 

 

이중배열을 다음과 같이 초기화 하여 사용할수 있다.

int[,] number = new int[3,3];


int i = 0;
while(i < 3){
	while(j <3 ){
    
    	number[i,j] = i+j+1;
    	j++;
    }
    j = 0;
    i++;
}

 

foreach를 활용한 값관리.

 

int myArray = new int[]{3,45,52,1,2,3,4,5,6,6,1,2,3,123};


int result = 0;
foreach(var a in myArray){
	result += var;
}

Console.WriteLine(result);

foreach는 배열, 리스트, 연속 데이터, 비연속 데이터 자료구조를 하나의 객체자체를 생성하여 객체 자체로 순회하는 형태이다.

 

객체가 복잡하거나 비연속데이터 일경우  편리하게 사용할수 있는 장점이있다.

하지만 다른 반복문에비해 연산속도가 느린 단점을 가지고있다.


특별한 상황이 아닌경우 자주 사용하지않는것이 좋다.

 

 

리스트

리스트는 연속성 자료 구조이다. 

리스트는 배열에비해 연산 속도가 느리나, 자료가 사이즈가 가변적으로 변동이 가능한 장점이있다. 

 

 

리스트의 사용방법은 다음과 같다.

List<int> myList = new List<int>();

myList.Add(10);
int count = myList.Count;

 int value  = myList[0];

 

매서드(함수) 설명
Add(T) T 값을 추가
Count 리스트의 갯수 (int)값 리턴
Clear() 리스트를 초기화 (값 비움)
Remove(T) T값 삭제

 

 

Directory, 사전형

비연결성 데이터 타입이다.

주로 Key, Value 페어 형태로 값을저장하고 값을 관리할수있다.

 

Key, Value란 List, 배열을 index로 관리하는것이 아닌, key로 값을 찾고 관리하는 타입이다.

key값은 string, int 등 여러 타입으로 사용할수 있다.

단, key와 value는 의미를 부여할수 있는 값으로 해주는것이 좋다.

 

Dictionary<string, int> myLib = new Dictionary<string, int>();

myLib.Add("Apple", 10);
myLib.Add("Cherry", 2);

int apple = myLib["apple"];

myLib.Remove("Apple");

myLib["Cherry"] = 3;

 

사전형은 배열처럼 사용할수도 있고, 매서드를 활용하여 값을 저장하고 관리할수 있다.

 

관련 메서드는 아래에서 확인 하면 된다.

 

 

 

https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.dictionary-2?view=net-6.0 

 

Dictionary<TKey,TValue> Class (System.Collections.Generic)

Represents a collection of keys and values.

docs.microsoft.com

 

 

 

 

 


혼자 해결해보기

 

 

1.

반복문을 사용하여 배열을 만들고 아래와같이 값을 넣으세요.

 

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

 

더보기
	for(int i = 0; i< 5; i++){
            for(int j = 0; j< 5; j++){
                arrayNumber[i, j] = number;
                number++;
            }
    }

    for(int i = 0; i< 5; i++){
        for(int j = 0; j< 5; j++)
        {
            Console.Write(arrayNumber[i, j] + " ");
        }
        Console.WriteLine();

    }

 

 

 

 

2.

2중 배열을 만든뒤 다음과 같이 값을 저장하세요 

(반복문만 사용해서 값을 넣어야합니다.)

0 * 2 * 4
* 2 * 4 *
2 * 4 * 6
* 4 * 6 *
4 * 6 * 8

 

3

 다음과 같이 값을 저장하세요 

(반복문만 사용해서 값을 넣어야합니다.)

1 2 3 4 5
6 7 8 9 0
1 2 3 4 5
6 7 8 9 0
1 2 3 4 5

 

 

 

반응형

관련글 더보기