0312 Array 배열
2021. 3. 12. 12:48ㆍC#/수업내용
배열은 동일한 데이터 형식/변수의 여러 요소를 저장한다.
미리 정의된 항목의 수에 따라 고정된 수의 요소를 순차적으로 저장한다.
배열 선언:
예) int [] arrayName;
배열 초기화: 배열은 동일한 변수를 여러 개 저장하는 인스턴스
1. int [] array = new int[5];
고정된 값 5개의 배열 인스턴스 생성: 기본값 0개가 들어감
방 하나가 변수를 의미한다.
2. int[] array = new int[5] {1,2,3,4,5};
각 방 안에 할당값을 준 상태의 배열 변수 생성
3. int [] array = new int {1,2,3,4,5};
4. int [] array = {1,2,3,4,5};
5. int [] array;
array = new {1,2,3,4,5};
public class Array
{
public Array()
{
//정수 배열 변수 선언
int[] arr = new int[5];
//정수 배열 선언 후 할당값 넣기
//int[] arr = { 1, 2, 3, 4, 5 };
//문자열 배열 변수 선언
//string[] arr2 = new string[5];
string[] arr2 = { "홍길동", "임꺽정", "장길산" };
//Unit 배열 변수 선언
//Unit[] arr3 = new Unit[3];
Unit[] arr3 = { new Unit(), new Unit(), new Unit() };
//논리값 배열 변수 선언
//bool[] arr4 = new bool[2];
bool[] arr4 = { true, false };
//문자값 배열 변수 선언
//char[] arr5=new char[4]; //null에 해당되는 숫자 '`0'
char[] arr5 = { '홍', '길', '동' };
}
}
인덱스 값으로 해당 변수에 접근한다.
public Array()
{
int[] arr = new int[5];
arr[0] = 2; //배열 인스턴스의 0번째 인덱스에 값 할당
int a = arr[0];
Console.WriteLine(arr[0]);
Console.WriteLine(a);
Console.WriteLine(arr.Length);
//배열의 마지막 인덱스
int lastIndex = arr.Length - 1;
//배열의 마지막 인덱스의 값
int b = arr[lastIndex];
}
인덱스는 고정되어있으니 후에 인덱스 수를 수정하려면 선언한 인덱스 값도 수정해야한다.
static void Main(string[] args)
{
int[] arr = new int[10];
//arr의 값은 배열 instance
arr[1] = 100; //{0,100,0,0,0}
//for문을 사용해 배열의 요소 값을 출력
for (int i = 0; i < arr.Length; i++)
{
//인덱스가 필요하면 for 문을 이용한다.
int num = arr[i];
Console.WriteLine(num);
}
Console.WriteLine("===================");
foreach (int num in arr)
{
//foreach의 인덱스는 알 수 없다.
Console.WriteLine(num);
}
}
string type 의 배열
//string 변수 선언
//string 배열 인스턴스의 (빈배열)
//string 배열 인스턴스 요소의 값 할당
//"홍길동""임꺽정""장길산"
//배열의 요소 출력 (for,foreach)
string[] name = new string[5];
name[0] = "홍길동";
name[1] = "임꺽정";
name[2] = "장길산";
for (int i = 0; i < name.Length; i++)
{
string num = name[i];
Console.WriteLine(num);
}
int index = name.Length;
Console.WriteLine(index);
foreach (string indexNum in name)
{
Console.WriteLine(indexNum);
}
int 타입의 배열
//int 타입의 배열
int[] damage = new int[5];
damage[0] = 35;
damage[1] = 10;
damage[2] = 40;
damage[3] = 25;
damage[4] = 44;
int damageIndex = damage.Length;
Console.WriteLine(damageIndex);
for (int i = 0; i < damage.Length; i++)
{
int index = damage[i];
Console.WriteLine(index);
}
Console.WriteLine("for문을 사용해서 인덱스 요소 내용 불러오기");
foreach (int damages in damage)
{
Console.WriteLine(damages);
}
Console.WriteLine("foreach문을 사용해서 인덱스 요소 내용 불러오기");
bool 타입의 배열
//bool 타입의 배열
bool[] died = new bool[2];
died[0] = true;
died[1] = false;
int indexLength = died.Length;
Console.WriteLine(died.Length);
foreach (bool indexes in died)
{
Console.WriteLine(indexes);
}
for (int i = 0; i < died.Length; i++)
{
bool index = died[i];
Console.WriteLine(index);
}
enum타입의 배열
enum eRace { Terran, Protoss, Zerg }
static void Main(string[] args)
{
//enum 타입의 배열 변수 선언
eRace[] races;
//enum 배열 인스턴스 생성(빈배열)
races = new eRace[3];
//enum 배열 인스턴스 요소에 값 할당
races[0] = eRace.Terran;
races[1] = eRace.Protoss;
races[2] = eRace.Zerg;
//배열의 길이 출력
Console.WriteLine(races.Length);
//배열의 요소 출력
for (int i = 0; i < races.Length; i++)
{
Console.WriteLine(races[i]);
}
}
'C# > 수업내용' 카테고리의 다른 글
0312 생성자 (0) | 2021.03.12 |
---|---|
0312 메서드 오버로딩 (0) | 2021.03.12 |
0312 클래스+메서드 (0) | 2021.03.12 |
0311 Class (0) | 2021.03.11 |
0310 메서드 (0) | 2021.03.10 |