728x90
https://www.youtube.com/watch?v=lgyrCKJV2Ls&list=PLVsNizTWUw7GN8wPRhclbKuQa9aI9Cj2V&index=11
📌 배열
- 같은 형식의 복수 인스턴스를 저장할 수 있는 형식
- 참조형식으로 연속된 메모리 공간을 가리킴
- 반복문, 특히 for / foreach문과 함께 사용하면 효율 향상
- [] 안에 배열의 크기를 지정하여 선언
데이터형식[] 배열이름 = new 데이터형식 [용량];
◾ 배열의 초기화 방법
string[] array1 =new string[3] {"안녕", "하이", "hello");
string[] array2 = new string[] {"안녕", "하이", "hello");
string[] array3 = {"안녕", "하이", "hello");
◾ System.Array 클래스
- 모든 배열의 기반 클래스이며 배열 그 자체를 나타냄
- 배열을 보다 편리하게 다룰 수 있게 도와주는 유틸리티 메서드 제공
- 정렬, 탐색, 크기조정 등의 기능 제공
◾ 다차원배열 -2차원배열
- 2개의 차원(세로, 가로)으로 요소 배치
- 차원의 길이를 뒤에서부터 읽어 해석
int[2,3] : 길이가 3인 1차원 배열을 요소로 갖는 길이가 2인 2차원배열
◾ 가변 배열(jagged Array)
- 배열의 배열
- 요소로 입력되는 배열의 차원과 길이는 달라도 됨
데이터형식[][] 배열이름 = new 데이터형식 [ 가변배열의 용량 ] [];
📌 컬렉션(Collection)
- 같은 성격을 띄는 데이터의 모음을 다루는 자료 구조
- 배열도 .net이 제공하는 컬렉션 자료구조 중 하나
◾ 컬렉션 - ArrayList
- 인덱스를 이용하여 요소에 접근
- 동적으로 크기가 증가
- add() : 요소 추가
RemoveAt() : 삭제
Insert() : 삽입
ArrayList list = new ArrayList();
list.add(10);
list.add(20);
list.add(30);
list.Remove(1); //20 삭제됨
list.Insert( 25, 1) //25를 1번 인덱스에 삽입
◾ 컬렉션 - Queue
- 선입선출 구조의 자료구조
- Enqueue() : 데이터 입력
Dequeue() : 데이터 출력
Queue que = new Queue();
que.Enqueue(10);
◾ 컬렉션 - Stack
- 선입후출 구조의 자료구조
- push() : 데이터입력
Pop : 데이터 출력
Stack stack = new Stack();
stack.Push(1);
◾ 컬렉션 - Hashtable
- 키와 값으로 이루어진 데이터를 다룰 때 사용
- 키를 해싱해서 테이블 내의 주소를 계산
- 배열처럼 다루기 간편하고 탐색속도 빠름
Hashtable ht = new Hashtable();
ht["book] = "책";
console.WriteLine(ht["book"]);
📌 인덱서
- 인덱스를 이용해 객체 내 데이터에 접근하게 해주는 프로퍼티
class 클래스이름
{
한정자 인덱서형식 this [형식 index]
{
get
{
//인덱스를 활용하여 내부 데이터 반환
}
set
{
//인덱스를 이용해 내부 데이터 저장
}
}
}
728x90
'C# > 이것이 C#이다' 카테고리의 다른 글
[C# 기초강의] Ch 12. 예외 처리하기 (0) | 2023.08.10 |
---|---|
[C# 기초강의] Ch 11. 일반화 프로그래밍 (0) | 2023.08.10 |
[C# 기초강의] Ch 09. 프로퍼티 (0) | 2023.08.10 |
[C# 기초강의] Ch 08. 인터페이스와 추상클래스 (0) | 2023.08.10 |
[C# 기초강의] Ch 07. 클래스 (0) | 2023.08.09 |