[문과 코린이의 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 열편집 - 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#기초 예시 / 참고 자료를 더 보고 싶다면?
* 유의사항 - 아직 공부하고 있는 문과생 코린이가, 정리해서 남겨놓은 정리 및 필기노트입니다. - 정확하지 않거나, 틀린 점이 있을 수 있으니, 유의해서 봐주시면 감사하겠습니다. - 혹시 잘못된 점을 발견하셨다면, 댓글로 친절하게 남겨주시면 감사하겠습니다 :) |