본문 바로가기
프로그래밍/C#

c# 기본 문법 정리5

by -현's- 2012. 3. 8.
반응형
●using 지시어 - 뒤에 지정한 네임스페이스를 이용한다는 것을 선언
ex)
using System;



●Console클래스는 System 네임스페이스에 속한다.




●스트림 - 파일의 읽기 및 쓰기에 대한 데이터의 흐름을 스트림이라 한다. C#에서는 스트림 전용 클래스에서 생성한 객체를 사용한다. 스트림 클래스를 이용하려면 'using System.IO;'를 선언해야 한다.




●예외처리
ex)
try{
    예외가 발생할지도 모르는 처리
} catch(예외클래스명  변수명){
    예외 발생시 실행하는 처리
} finally{
    뒷 마무리 작업
}



●문자 읽기
①파일 열기 - FileStream클래스를 사용하여 스트림을 만들고 StreamReader라는 읽기용 클래스에 전달
ex)
FileStream fs = newStream("A.txt", "FileMode.Open");       //A.txt는 파일이름이고 FileMode는 열기모드이다
StreamReader r = new StreamReader(fs);


-열기모드
 처리  의미
 FileMode.Open  기존파일을 연다
 FileMode.OpenOrCreate  파일이 없으면 만들어서 연다
 FileMode.Append  추가모드로 연다. 파일이 없으면 만든다.
 FileMode.Create  파일을 만든다. 같은 이름 파일이 있으면 이전 파일 지우고 만든다
 FileMode.CreateNew  파일들 만든다. 같은 이름 파일이 있으면 예외가 발생한다.



②데이터를 읽는다 - StreamReader클래스의 ReadLine()메서드를 사용한다.
ex)
string s = r.ReadLine();      //ReadLine는 한행의 문자열을 읽는다.


③파일을 닫는다 - StreamReader클래스의 close()메소드 사용
ex)
r.Close();



●문자 읽기 예
ex)
using System;
using System.IO;
class Read{
   static void Main(){
        FileStream fs;
        try{
            fs = new FileStream("A.txt", FileMode.Open);     //A.txt는 실행파일과 같은 위치에 준비한다.
        }
        catch(IOException){
           Console.WriteLine("파일을 열 수 없음");
           return;
        }
        StreamReader r = new StreamReader(fs);
        string s;
        while(( s = r.ReadLine() ) != null ){
            Console.WriteLine(s);
        }
        r.Close();
     }
}


●문자 쓰기
①파일 열기 - FileStream클래스를 사용하여 스트림을 만들고 StreamWriter라는 쓰기용 클래스에 전달
ex)
FileStream fs = new FileStream("A.txt", FileMode.Create);
StreamWriter w = new StreamWriter(fs);



②데이터를 쓴다 - StreamWrite클래스의 Write()메소드를 사용
ex)
w.Write("파일에 쓸 내용");


③파일 닫기 - StreamWriter클래스의 Close()메소드를 사용
ex)
w.Close();



●키보드 입력 - Console클래스의 ReadLine()메소드 사용
ex)
string s = Console.ReadLine();



●데이터 순서를 지정하여 출력
ex)
WriteLine("{0} {1} {2} {0}", "0번째", "1번째", "2번째");

출력 : 0번째1번째 2번째 0번째
ex)
WriteLine("{1}-{0}은 {2}이다." "3","2",3-2);



●문자열 조작 메서드
- Length - 문자열 길이  반환
ex)
string a = "abc";
string b = a.Length;

- IndexOf - 문자열의 인덱스번호를 검색
ex)
string a = "abcde";
int b = a.IndexOf('d');

- Substring - 문자열 일부를 가져옴
ex)
string a = "abcde";
atring b = a.Substring(1, 3);     //인덱스번호 1부터 문자열 3개 가져온다. (인덱스 번호는 0부터 시작)



●데이터형 변환 메소드
- 다른형에서 문자열로 변환할 때 ToString() 메소드 사용
ex)
int a = 1;
string b = a.ToString();

- 문자열에서 다른 형으로 변환할 땐 각 데이터형의 Parse() 메소드 사용
ex)
string a = "10";
int b = int.Parse(a);



●C#은 c, c++과 달리 자동으로 garbage collection을 한다.


반응형

'프로그래밍 > C#' 카테고리의 다른 글

c# 기본 문법 정리4  (0) 2012.03.08
c# 기본 문법 정리3  (0) 2012.03.07
c# 기본 문법 정리2  (0) 2012.03.07
c# 기본 문법 정리1  (0) 2012.03.04

댓글