ASP/ADO.Net C# 실무 과정 자료] 문자열에 인덱서 사용(Indexer)






ASP/ADO.Net C# 실무 과정 자료] 문자열에 인덱서 사용(Indexer)

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


문자열에 인덱서 사용(Indexer)


■문자열[index]

- 문자열의 각 문자를 배열의 element처럼 사용할 수 있다. 실제 배열은 아니지만 indexer라는 것을 정의하여 내부에 구현해 두었기 때문이다.


- str[0] 이라고 하면 str문자열의 첫번째 문자를 뜻한다. 이때 str[0]을 읽을 수는 있지만, str[0]=‘A’ 이런 식으로 문자열을 바꾸는 것은 안된다.


- 배열과 같이 IndexOutOfRangeException 예외가 발생할 수 있다.


char char0 = str[0];



ASP/ADO.Net C# 실무 과정 자료] 문자열 선언하기






ASP/ADO.Net C# 실무 과정 자료] 문자열 선언하기

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.



문자열 선언하기


■C#의 문자열

- string ( = System.String) 객체를 사용한다.

- 문자열 내부 문자는 유니코드를 사용한다.

- 참조형 변수이다. (C에서는 문자열이 문자형의 배열)




■ 문자열 선언하기

- string str = “ABC”

- new 를 사용하지 않고도 인스턴스 생성이 가능하다.



ASP/ADO.Net C# 실무 과정 자료] 배열의 메소드 (4)






ASP/ADO.Net C# 실무 과정 자료] 배열의 메소드 (4)

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


배열의 메소드 (4)


■ Array.CreateInstance(Type, length);

  - type 형식, length 길이의 배열을 인스턴스화 한다.

  - new Type[length] 와 같은 역할



■ SetValue(element, index)

  - 배열[index]=element; 와 같은 역할



■ GetValue(index1, index2, …)

 - 배열[index1, index2, …] 와 같은 역할



ASP/ADO.Net C# 실무 과정 자료] 배열의 메소드 (3)







ASP/ADO.Net C# 실무 과정 자료] 배열의 메소드 (3)

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.



배열의 메소드 (3)


■ GetLowerBound(차원)

   GetUpperBound(차원)

  - 해당 차원의 첫/마지막 index를 반환한다.


■ IndexOf(array, 찾을값)

   LastIndexOf(array, 찾을값)

  - “찾을값”을 검색하여 그 index를 반환한다. IndexOf는 앞에서 부터, LastIndexOf는 뒤에서 부터 검색



예제)

IndexOf의 구현

(2차원 배열에서의 IndexOf를 구현해 보자)

아래 배열을 구성한다.

11 12 13

21 22 23

31 32 33


for 문을 이용하여 값이 23인 element의 배열 인덱스를 구해보자.



ASP/ADO.Net C# 실무 과정 자료] 배열의 메소드 (2)






ASP/ADO.Net C# 실무 과정 자료] 배열의 메소드 (2)


실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


배열의 메소드 (2)


■ Clone() : 복사본을 만드는 메소드

 - 배열 i가 있을때 이것을 j에게 복사하려면 j = i.Clone() 이라고 명령해준다.


 - 만약 j=i라고 한다면 j는 i와 같은 객체를 가리키게 된다. 즉, i의 값을 조작하면 j의 값도 조작되게 된다.



■ GetLength(차원)

 - 배열의 rank번째 길이를 구한다. [3,3] 배열이라면, GetLength[0] = 3이고 GetLength[1] = 3이다.



ASP/ADO.Net C# 실무 과정 자료] 배열의 메소드 (1) – 정적메소드






ASP/ADO.Net C# 실무 과정 자료] 배열의 메소드 (1) – 정적메소드


실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.



배열의 메소드 (1) – 정적메소드


■ Array.Sort(arrayName)

: 배열을 오름차순으로 정렬

: < > 비교연산이 정의되어 있어야 함



■ Array.Reverse(arrayName)

: 배열내의 순서 뒤집기



■ Array.Clear(arrayName, start, length)

: element들을 0, null 으로 초기화한다.


ASP/ADO.Net C# 실무 과정 자료] 배열의 탐색






ASP/ADO.Net C# 실무 과정 자료] 배열의 탐색

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


배열의 탐색


■ 프로퍼티(property)

  - 배열.Length : 배열의 크기

  - 배열.Rank : 배열의 차원



■ 배열을 탐색하는 방법

for (int i=0; i<배열.Length; i++)

{배열[i]에 대한 작업}

foreach (int item in 배열) {item에 대한 작업}



■ 2차원 이상에서의 탐색

for (int i=0; i<배열.GetLength(0); i++)

for (int j=0; j<배열.GetLength(1); j++)

{배열[i,j]에 대한 작업}


ASP/ADO.Net C# 실무 과정 자료] 불규칙 배열






ASP/ADO.Net C# 실무 과정 자료] 불규칙 배열


실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


불규칙 배열


(예) 삼각형 모양의 배열

11

21  22

31  32  33


어떻게 만들까?

int [][] myArray = new int [3][]

myArray[0] = new int[1] {11};

myArray[1] = new int[2] {21,22};

myArray[2] = new int[3] {31,32,33};

객체를 배열로 묶고 그 배열을 다시 배열로 묶어주는 방법을 쓴다.


+ Recent posts