1차원 배열의 활용
1. 배열의 초기화 방식
int[] aa = { 100, 200, 300, 400 };
int[] bb = new int[] { 100, 200, 300 };
int[] cc;
cc = new int[] { 100, 200 };
int[] dd = new int[1];
dd[0] = 100;
2. 큰 배열을 초기화 할 때 for문 활용함
ex) 100개의 배열 aa에 2의 배수의 수를 넣음(큰 배열)
int[] aa = new int[100];
int[] bb = new int[200];
for(int i = 0; i < 100; i++)
{
aa[i] = i * 2;
}
for(int i = 0; i < 100; i++)
{
bb[i] = aa[99 - i]; // aa 배열의 값을 뒤집어서 bb 배열에 저장
}
Console.WriteLine("bb[0]은 {0}, bb[99]는 {1}입력됨.", bb[0], bb[99]);
3. 배열 요소의 개수 확인
>>배열_이름.Length
int[] aa = { 10, 20, 30, 40, 50 };
int count, size;
count = aa.Length;
size = count * sizeof(int);
Console.WriteLine("배열 aa[]의 요소의 개수는 {0}개", count);
Console.WriteLine("배열 aa[]의 요소의 전체 크기는{0}바이트", size);
4. 배열 크기 변경
>> Array.Resize(ref 배열명, 새로운_크기) 라는 함수 메서드 활용
기존의 배열의 값을 유지하면서 크기를 변경 >> ref 배열명 (사요ㅛㅇ하지 않으면 0으로 찍힘)
int[] aa = { 10, 20, 30 };
Console.WriteLine("현 배열 크기 ==> {0}", aa.Length);
Console.Write("현 배열 내용 ==>");
for(int i = 0; i < aa.Length; i++)
Console.Write("{0, 3:D}", aa[i]);
Console.WriteLine();
Array.Resize(ref aa, 5);
Console.WriteLine("새 배열 크기 ==> {0}", aa.Length);
Console.Write("새 배열 내용 ==>");
for(int i = 0; i < aa.Length; i++)
Console.Write("{0, 3:D}", aa[i]);
Console.WriteLine();
>> 콘솔창
현 배열 크기 ==> 3
현 배열 내용 ==> 10 20 30
새 배열 크기 ==> 5
새 배열 내용 ==> 10 20 30 0 0
만약 새 배열에 추가된 값을 넣고 싶다면
resize한 뒤에 값을 새로 넣어주면 됨
// 새 배열에 추가된 값 넣기 aa[3] = 40; aa[4] = 50;
5. foreach문
c#에서는 배열을 하나씩 접근하는 방식이 좀 더 편리해지도록 foreach(변수 in 배열)을 사용
2차원 배열
1. int[ , ]ary = [행, 열]
2. 중첩 for문을 활용하여 2차원 배열 사용
3. 초기화
ary[0,0]부터 ary[2,3]까지 출력
int[,]ary = {
{1,2,3,4}, {5,6,7,8}, {9,10,11,12} };
namespace ConsoleApp1
{
internal class Program
{
static void Main(string[] args)
{
int[,] ary = {
{1,2,3,4},
{5,6,7,8},
{9,10,11,12} };
for (int i = 0; i < 3; i++)
{
for ( int k = 0; k < i-3; k--)
{
Console.Write(ary[i, k]);
}
Console.WriteLine("");
}
}
}
}
>> 배열 거꾸로 나오게하기