문과 코린이의, [C#] 기록/C# 활용

[문과 코린이의 IT 기록장] C# 기초 예시 - Array(배열)

벼리네 2021. 6. 5. 15:20
반응형

 

[문과 코린이의 IT 기록장] C# 기초 예시 - Array(배열)

[문과 코린이의 IT 기록장] C# 기초 예시 - Array(배열)


0. C# _ 배열에 관해서

[ 배열 ]

- 동일한 타입의 변수를 모아 놓은 집합

- 배열의 가장 기본적인 형태 : Array -> 발전된 형태 : List / Data table / Data Set  / dictionary 

 

cf ) 배열에 대해 알아볼 테스트용 예제

private void ArrayTest()

{

 /* 배열을 사용하지 않으면, 아래와 같이 많이 작성 해야함 */

 //int iDay1 = 0;

 //int iDay2 = 0;

 //int iDay3 = 0;

 

 //int iDay1.iDay2,iDay3; // 정의

 

 // int iDay1 = 10; // 정의하면서값을바로대입해줘도됨

 // int iDay2 = 20;

 // int iDay3 = 25;

 

 

 [ 일차원 배열 ]

 /* 그렇다면 일차원 배열을 활용 해보자 */

 

 // 1강(String 활용)에서의 이것과 비슷한 형태

 //string str1 = "가나다라;

 //string [] strTest = str1.Split(',');

 //string [] strTestArray = {"가, "나, "다,"라};

 

[ 일차원 배열 형식 ]
데이터형식 [ ] 배열이름 = new 데이터형식 [용량] { ... }

 int[] iArrayTest1 = { 1, 2, 3, 4, 5  }; // int형 배열 iArrayTest1을, 오른쪽의 값으로 초기화하겠다. (new int[5] 생략 가능)

 

 int[] iArrayTest2 = new int[5] { 1, 2, 3, 4, 5 };

 

 int[] iArrayTest3 = new int[5]; // 이와 같이 값을 하나씩 넣어줄수도 있음. (0,0,4,0,5로나올것)

 iArrayTest3[2] = 4;

 iArrayTest3[4] = 2;

 //iArrayTest3[5] = 3; // 오류가 발생함. 배열 크기가 맞지 않기 때문.

 

 

[ 다차원 배열 ] 

 int[,] iArrayTest4 = new int[2, 4] {{ 1, 2, 3, 4 },{ 10, 20, 30, 40 } };

 

}

 

private void ArrayClassTest() 

{

 int[] iTest = { 10, 20, 30, 40, 50 }; // int형 배열 iTest에, {10,20,30,40,50}의 값을 넣겠다.

 

 int i = iTest.Length; // Array.Length : 배열의 크기를 확인함.

 

 Array.Clear(iTest, 2, 2); // Array.Clear(Atest, 2, 2) : 해당 위치값에서 지정 값만큼 초기화시킴.

 

 Array.Resize(ref iTest,10);// Array.Resize(ref Atest, 10) : 배열의 크기를 변경함. 

 

 int iSearch30 = Array.IndexOf(iTest, 50); // Array.IndexOf(Atest, 30) : 배열에서 처음 찾은 해당 값의 위치를 가져옴.

}

 

 


1. UI 부분

[ Data grid view - 테이블 형태를 입력할 수 있도록 하는 것 ]

data grid view 열편집

Data grid view 열편집 - Header Text : 텍스트 입력

Data grid view 열편집 - Name : 배열의 이름 _ 코드에서 활용 가능


 

2. 코드 부분

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace _20210603__Array

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

 

private void button1_Click(object sender, EventArgs e) // 일주일간 버튼 _ 1차원 배열 사례

{

 dgDay.Rows.Clear(); // dgDay의 행을 초기화시켜라.

// dgDay : data grid view 이름

 

 int[] iTest = { 10, 5, 30, 4, 15, 22, 28 }; // int형 배열 iTest에, 우측의 값을 넣어라

 

 lblArrayCount.Text = string.Format("전체자료수 {0}", iTest.Length.ToString());

// lblArrayCount의 Text부분에, 우측의 서식을 넣어라  

 

 dgDay["colDay1", 0].Value = iTest[0]; // dgDay의 colDay1(행)의 0번째 (열)에, iTest[0]의 값을 넣겠다.

 dgDay["colDay2", 0].Value = iTest[1]; // dgDay의 colDay2(행)의 0번째 (열)에, iTest[1]의 값을 넣겠다.

 dgDay["colDay3", 0].Value = iTest[2];

 dgDay["colDay4", 0].Value = iTest[3];

 dgDay["colDay5", 0].Value = iTest[4];

 dgDay["colDay6", 0].Value = iTest[5];

 dgDay["colDay7", 0].Value = iTest[6];

}

 

private void button2_Click(object sender, EventArgs e) // 이주일간 버튼 _ 2차원 배열 사례

{

 dgDay.Rows.Clear(); // dgDay의 행을 초기화시켜라

 

 int[,] iTest = { { 10, 5, 30, 4, 15, 22, 18 }, { 11, 15, 24, 7, 15, 8, 9 } };

// int[,] iTest = new int[2,7] { { 10, 5, 30, 4, 15, 22, 18}, { 11, 15, 24, 7, 15, 8, 9} }; 와 같음

 

 lblArrayCount.Text = string.Format("전체자료수 {0}", iTest.Length.ToString());

 

 dgDay.Rows.Add(); // 행(가로줄) 하나를 (아래로) 추가해줌

 

 dgDay["colDay1", 0].Value = iTest[0, 0]; // dgDay의 colDay1(행)의 0번째 (열)에, iTest[0,0]의 값을 넣겠다.

 dgDay["colDay2", 0].Value = iTest[0, 1];

 dgDay["colDay3", 0].Value = iTest[0, 2];

 dgDay["colDay4", 0].Value = iTest[0, 3];

 dgDay["colDay5", 0].Value = iTest[0, 4];

 dgDay["colDay6", 0].Value = iTest[0, 5];

 dgDay["colDay7", 0].Value = iTest[0, 6];

 

 dgDay["colDay1", 1].Value = iTest[1, 0]; // dgDay의 colDay1(행)의 1번째 (열)에, iTest[1,0]의 값을 넣겠다.

 dgDay["colDay2", 1].Value = iTest[1, 1];

 dgDay["colDay3", 1].Value = iTest[1, 2];

 dgDay["colDay4", 1].Value = iTest[1, 3];

 dgDay["colDay5", 1].Value = iTest[1, 4];

 dgDay["colDay6", 1].Value = iTest[1, 5];

 dgDay["colDay7", 1].Value = iTest[1, 6];

 

 

}

}

}

 


3. 결과물 부분

일주일간
이주일간

 


4. C#기초 예시 / 참고 자료를 더 보고 싶다면?


* 유의사항
- 아직 공부하고 있는 문과생 코린이가, 정리해서 남겨놓은 정리 및 필기노트입니다.
- 정확하지 않거나, 틀린 점이 있을 수 있으니, 유의해서 봐주시면 감사하겠습니다.
- 혹시 잘못된 점을 발견하셨다면, 댓글로 친절하게 남겨주시면 감사하겠습니다 :)
반응형