티스토리 뷰
======================================================
안녕하세요 Doridori 입니다.
이번강의는 Array(배열)에 대해서 강의 하도록 하겠습니다.
제가 강의를 녹화 할때 프로젝트명을 Array로 해서 진행 했는데요 프로젝트를 생성 할 때에는 왠만 하면 C# 내에서 정의 되어 있는 클래스명 같은 걸 사용 하지면 Namepace가 충돌 나서 새로 정의 해서 사용 해야 할 수도 있어서 왠만 하면 없는 이름을 사용 하시는 것이 좋습니다.
(코딩을 처음할때 많이 격었던 일인데 강의를 만드는 중에 갑작스럽게 만나니 엄청 당황 스러웠습니다. ㅜㅠ)
프로젝트를 생성 하실때 Array 말고 다른걸로 해주시면 됩니다.
(아니면 강의 때 처리 한 것처럼 Namespace명을 바꿔주셔도 됩니다.)
======================================================
Array (배열)
Source UI) Study_7_Array(UI).zip
Soruce 전체) Study_7_Array.zip
교재) 7강 Array.pdf
프로그램이 복잡해 질수록 Data를 처리해야 하는 양이 많아 지기 때문에 Data를 관리하는 형식이 매우 중요 하게 되는데 배열 역시 많은 Data를 처리하는데 자주 사용이 됩니다.
Array 부터 파생 되서 List나 DataTable, DataSet, HashTable, Dictory 등 많은 배열 형태의 Data를 처리하게 되는데 Array는 배열의 기본이 되는 항목이라 알아두시면 많은 도움이 됩니다.
기본 배열에 대한 내용이며 Array Class를 가지고 배열을 제어 하는 부분은 잘 사용하지 않지만 알아 두시면 유용하게 쓰일만한 부분만 설명 해 두었습니다.
UI 부분의 경우 배열을 표시 해주기 유용한 Datagridview에 대해서 한번 알아보는 예제를 준비 했습니다.
나중에 Table 형태의 자료를 다룰 때 좀더 편하게 사용 할 수 있습니다.
UI)
소스 Code 및 내용)
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | 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 WindowsFormsApp1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); ArrayTest(); //Form을 시작 할 때 ArrayTest 를 실행 합니다. (프로그램과는 관계 없는 부분입니다.) ArrayClassTest(); //Form을 시작 할 때 ArrayClassTest 를 실행 합니다. (프로그램과는 관계 없는 부분입니다.) } /// <summary> /// Array Test용 예제 /// </summary> private void ArrayTest() { //int iTest1 = 1; //int iTest2 = 2; //int iTest3 = 3; //int iTest4 = 4; //int iTest5 = 5; //배열의 선언과 초기화를 동시에 할수 있음 int[] iArrayTest1 = { 1, 2, 3, 4, 5 }; //선언 하고 초기화 - 배열의 크기와 초기화가 동일하지 않으면 Error 발생 int[] iArrayTest2 = new int[5] { 1, 2, 3, 4, 5 }; //배열 List 형태의 자료 int[] iArrayTest3 = new int[5]; iArrayTest3[0] = 3; iArrayTest3[4] = 3; string[] strArrayTest = new string[6]; //strArrayTest[7] = "Dfs"; //Error //다차원 배열의 참고 자료 - Table 형태의 자료 int[,] reading = new int[3, 6] { { 4, 9, 1, 0, 21, 12 }, { 1, 4, 6, 0, 9, 5 }, { 4, 4, 2, 4, 0, 0 } }; } /// <summary> /// Array Class 속성 확인 /// </summary> private void ArrayClassTest() { int[] iTest = { 10, 5, 30, 4, 15, 30, 18 }; int i = iTest.Length; // 배열의 길이를 가져옴 Array.Clear(iTest, 0, 2); // 선택 한 위치의 배열을 초기화 시킴 Array.Resize(ref iTest, 10); // 배열의 크기를 변경 함 int iSearch30 = Array.IndexOf(iTest, 30); // 배열 내에서 처음 찾은 위치를 가져옴 } /// <summary> /// button1 Click 시 DataGridView에 (1,7) 의 배열을 표시한다 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button1_Click(object sender, EventArgs e) { dgDay.Rows.Clear(); int[] iTest = { 10, 5, 30, 4, 15, 22, 18 }; lblArrayCount.Text = String.Format("전체 자료 수 : {0}", iTest.Length.ToString()); dgDay["colDay1", 0].Value = iTest[0]; dgDay["colDay2", 0].Value = 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]; } /// <summary> /// button2 Click 시 DataGridView에 (2,7) 의 배열을 표시한다 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button2_Click(object sender, EventArgs e) { dgDay.Rows.Clear(); //new int[2, 7] //초기화 때 선언 해도 되지만 안해도 됨 int[,] iTest = { { 10, 5, 30, 4, 15, 22, 18 }, { 11, 15, 20, 14, 15, 23, 17 } }; lblArrayCount.Text = String.Format("전체 자료 수 : {0}", iTest.Length.ToString()); dgDay.Rows.Add(); dgDay["colDay1", 0].Value = 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["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]; } } } | cs |
프로젝트를 생성 할때 강의에서는 Array로 생성 하였으나 예제에서는 프로젝트 명을 Default로 사용하였습니다.
강의를 보시고 따라 진행 중이시면 중간에 Namespace를 변경해 주어야 하기 때문에 (Namespace로 Array를 사용 중일 경우 Array Class를 쓸수가 없기때문에 Using에서 이름을 새로 정의해줘도 됩니다.)
프로젝트 이름을 겹치지 않게 만드는게 가장 편하겠죠 *^^*
강의)
'C# > C# 강좌 Winform' 카테고리의 다른 글
Doridori C# 강의) 9.반복문1(for, foreach) (24) | 2018.07.08 |
---|---|
Doridori C# 강의) 8.조건문(if else, switch) (18) | 2018.07.01 |
Doridori C# 강의) 6.주석 (2) | 2018.06.10 |
Doridori C# 강의) 5.Enum(열거형) (45) | 2018.06.02 |
Doridori C# 강의) 4.연산자 (Operator) (8) | 2018.05.27 |
- Total
- Today
- Yesterday
- 도리도리
- 막걸리
- Visual Studio
- 와인
- 위스키
- 가볼만한곳
- C# 기초 강의
- C#
- 증류주
- 칵테일
- 게임
- 맛집
- 주말
- 가볼만한 곳
- 아이랑
- 프로그램 강의
- 소주
- C# 강좌
- 전통주
- 모바일
- 보드카
- 도리도리 C#
- 술
- 하이볼
- 광저우
- WinForm
- C# 강의
- 서울
- 맥주
- 나들이
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 26 | 27 | 28 |
29 | 30 | 31 |