Programming/c# & winform2020. 10. 5. 11:16

c# 프로그래밍 책을 보는데 오랫만에 봐서 그런가 먼가 많이 건너뛰어버린 느낌 ㅠㅠ

스트림에서 갑자기 Dispose() 나오지 않나 StreamReader 클래스도 IDisposable 인터페이스 구현 이런 이야기 나오는것 봐서는

다시 봐야할 것 같다 -_ㅠ

 

아무튼!

using 은 name space를 정의하는데 쓰는 것 뿐만 아니라

내부에서 예외발생시 Dispose() 메소드를 호출해주는 유용한 녀석이라고 한다.

 

아래 예제는 삼항연산자는 아닌거 같은데 다시 봐야겠네..

 

string manyLines=@"This is line one
This is line two
Here is line three
The penultimate line is line four
This is the final, fifth line.";

using (var reader = new StringReader(manyLines))
{
    string? item;
    do {
        item = reader.ReadLine();
        Console.WriteLine(item);
    } while(item != null);
}

 

c# 8.0 이후

string manyLines=@"This is line one
This is line two
Here is line three
The penultimate line is line four
This is the final, fifth line.";

using var reader = new StringReader(manyLines);
string? item;
do {
    item = reader.ReadLine();
    Console.WriteLine(item);
} while(item != null);

[링크 : https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/keywords/using-statement]

 

+

 

IDisposable.Dispose 메서드
관리되지 않는 리소스의 확보, 해제 또는 다시 설정과 관련된 애플리케이션 정의 작업을 수행합니다.

[링크 : https://docs.microsoft.com/ko-kr/dotnet/api/system.idisposable.dispose?view=netcore-3.1]

'Programming > c# & winform' 카테고리의 다른 글

c# out  (0) 2020.10.07
c# 타입? 변수명;  (0) 2020.10.05
c# @문자열  (0) 2020.10.05
winform socket  (0) 2020.09.29
c# conditional attribute  (0) 2020.09.29
Posted by 구차니