문자열 메소드-추가

​Length 프로퍼티 : 문자열  길이

Insert (index, str) : 문자열 index 위치에 str을 추가한다.
"1234".Insert(2,"AA")  "12AA34"

Concat(str1, str2, …) 파라미터 문자열을 모두 합친다.
새로운 문자열을 반환하다.

str1+str2 : str1과 str2를 합친다.

(*) 대부분의 문자열 메소드는 결과 문자열을 다른 변수에
    할당해 주지 않으면 아무 효과도 일어나지 않는다.
 즉, str3=str1.Insert(2, str2); 식으로 …

문자열 메소드-변환,교체

ToUpper(), ToLower()
 : 대문자/소문자로 통일

 

Trim(), TrimStart(), TrimEnd()
 : 공백 앞뒤 자르기, 앞부분 공백 자르기, 뒷부분 공백 자르기

 

Replace(바꿀문자열, 바뀔문자열)
 : 문자열 내에서 바꿀문자열을 찾아 바뀔문자열로 바꾼다.

   아래는 공백제거의 예이다.
 
         예) "12 3    4".Replace(" ", "")  "1234"


 

C#의 문자열

   string ( = System.String) 객체를 사용한다.
   문자열 내부 문자는 유니코드를 사용한다.
   참조형 변수이다. (C에서는 문자열이 문자형의 배열)

문자열 선언하기

   string str = “ABC”
   new 를 사용하지 않고도 인스턴스 생성이 가능하다.

 

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

​문자열[index]
    문자열의 각 문자를 배열의 element처럼 사용할 수 있다.
    실제 배열은 아니지만 indexer라는 것을 정의하여

    내부에 구현해 두었기 때문이다.

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

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

char char0 = str[0];

 

 

 

 

클래스 Student는 클래스 People로 부터 필드와 메소드들을 상속받는다.
(앞의 예제에서는 모든 필드, 메소드를 상속받는다.)

 

그리고 class Student에서 필드 studentNumber와
메소드 ShowSN()를 새로이 추가한 것이다.

 

따라서 Student형의 객체는 필드 name, age, studentNumber를 가지며,
ShowNameAge()와 ShowSN()를 호출할 수 있다. 

 

C#의 특수 문자 (일부)

 

 

 

 

 

 

 

 

 

 

 

if 문

 if statement
   어떤 조건의 참, 거짓을 판단하여 실행을 제어하는 구조에 사용되는 statement이다.

C#에서 특히 주의할 부분
   condition 부분은 결과값이 반드시 boolean값이 true또는 false가 되어야 한다.
   convert.ToBoolean()을 사용해서 명시적으로 변환
   다른 언어들의 경우: 0 이나 -1을 false로 나머지를 true로 암시적 형 변환


양식1
   if (condition){
       statements;
   }


양식 2 (if-else)
 if (condition){
 statements;
 } else {
 statements;
 }


양식 3 (중첩 if문)
 if (condition){
 statements;
 } else if (condition){
 statements;
 } …… 
 } else {
 statements;
 } 

 

 

 

값에 의한 파라미터 전달

 

 

 

- 아래 메소드는 두 수를 입력받아 그 수를 서로 바꾸어 주는 메소드이다.

public static void Swap(int x, int y)

{

  int temp;

  temp=x;

  x=y;

  y=temp;

  }

 

 

- 이 경우 아래를 실행시키면 어떻게 될까? 정답은 “아무일도 일어나지 않는다.” 이다

X=1; y=2; Swap(x, y);

 

 

 

 

 

 

Argument

 

 

 

- 정상과 오류

 

정상 : public static void Method(int i, int j, string k)

오류 :  public static void Method(int)

                  public static void Method(int i,j)

 

 

- 메소드를 호출할 때, 형식에 맞는 각각의 파라미터를 넣어주어야 한다.

   즉, 위 정상적인 메소드를 호출할 경우 Object.Method(1,2,”AB”) 식으로 써야한다.

 

- 파라미터를 전달할 때, refout 등의 키워드를 사용할 수 있다.

   이것은 return value가 하나밖에 없는 단점을 보완하게 해 준다.

 

 

 

 

 

 

 

메소드 정의하기

 

 

 

- public static void Main(string[] args){ … }

 

public : 접근 제어

 

static : 정적 메소드 키워드 (virtual이면 가상 메소드 abstract이면 추상 메소드를 의미한다)

 

void : return value(반환값) 타입 (int, srting 등을 반환값으로 설정할 수 있다.)

 

Main : 메소드의 이름

 

(string[] args) : 메소드의 입력 인자 (Argument)

 

{…} : 메소드의 본문. 메소드의 반환값이 void(아무것도 반환 안함)가 아닌 경우 반드시 return 문을 포함해야 한다.

 

 

 

 

 

 

 

 

 

 

 

+ Recent posts