Microsoft MVP성태의 닷넷 이야기
안녕하세요 C# using 예약어관련 질문드립니다. [링크 복사], [링크+제목 복사],
조회: 7778
글쓴 사람
하주형 (milkcof at outlook.kr)
홈페이지
첨부 파일
 

안녕하세요 시작하세요 C# 7.1을 공부하다가 이해가 안되는 부분이 있어서 질문드립니다.

419페이지를 보면

using (FileStream fs = new FileStream("test.log", FileMode.Append))
using (StreamWriter sw = new StreamWriter(fs, Encoding.UTF8))
{
    sw.WriteLine("Hello World");
    Console.ReadLine();
}

이렇게 코드작성이 되있는데

공부한내용을 더듬어보면 using은 괄호 안에서 IDisposable을 구현한 객체의 Dispose 메서드를 블록이 끝나면 자동으로 호출이 된다고 기억하고있는데요..

using을 사용한 처음 줄은 블록이 없기때문에 다음줄에서 이미 Dispose() 메서드를 호출해서 fs 참조변수가 더이상 FileStream 인스턴스를 참조할수없는 상태인데

어떻게 StreamWriter가 test.log에 쓰기가 가능한지 궁금합니다..


혹시 코드가 아래처럼 이중 중첩으로 작동하고 있는지..

using (FileStream fs = new FileStream("test.log", FileMode.Append))
{
     using (StreamWriter sw = new StreamWriter(fs, Encoding.UTF8))
     {
         sw.WriteLine("Hello World");
         Console.ReadLine();
     }
}

아니면 제가 어디서 잘못알고있는지 궁금합니다








[최초 등록일: ]
[최종 수정일: 11/21/2018]


비밀번호

댓글 작성자
 



2018-11-21 01시07분
if (a == 1)
     a = 2;

 if (a == 1)
 {
     a = 2;
 }

위의 2가지 코드는 동일한 동작을 합니다. 왜냐하면, 블록은 2개 이상의 문이 나올 때 그것을 포함하게 하기 위해 지정하는 구역이지만 문이 1개일 때는 하지 않아도 되는 것과 같습니다.

질문하신 코드에서 using을 if로 바꿔서 보면 눈에 들어올 것입니다.
정성태

... 46  [47]  48  49  50  51  52  53  54  55  56  57  58  59  60  ...
NoWriterDateCnt.TitleFile(s)
3667김치사발면12/15/201511082템플릿 설정 추가 질문 [1]파일 다운로드1
3666노태현12/15/201510497사용자별로 권한을 주고 볼 수 있는 데이터를 제한하려면 어떤 방법으로 접근하는게 좋을까요? [2]
3665김치사발면12/14/201513595C# 템플릿 설정이 이상해요ㅜㅜ [3]파일 다운로드1
3664KuLu12/10/201510888멀정하던 사이트 중 일부메뉴가 응답없음이 되어버립니다. [3]
3663Sung...12/10/201512295UWP 서버 프로그래밍 작업 중 [5]
3662Sung...12/9/201512148uwp앱에서 접속한 클라이언트 주소값을 받아서 표시하고 싶은데 어떤 메소드를 써야 할까요? [7]
3661김무진12/9/201511484Oracle 환경에서 데이터를 조회할때 한글이 ? 이렇게 표시가됩니다. [1]
3660질문자12/7/201513418OpenFileDialog 호출시 hang걸리는 문제 [4]
3659Sung...12/4/201513052UWP 앱에서 textBox로 클라에서 받은 값을 나타내고 싶은데 안되고 있습니다. [5]
3658강준12/3/201512303Visual Studio (Xamarin) vs Eclipse [2]
3656DEVY...12/1/201511200MasterPageFile 사용시 다국어 처리 질문입니다. [1]
3653DEVY...11/26/201512665ds:Signature 질문입니다. [7]
3654윤용한11/27/201512393    답변글 [답변]: ds:Signature 질문입니다. [3]
3657윤용한12/1/201514682    답변글 [답변]: ds:Signature 질문입니다. [1]
3651노태현11/20/201545384MariaDB - ASP.NET오류의 원인조차 못 찾고 있습니다.. [2]파일 다운로드2
3652노태현11/20/201512271    답변글 [답변]: MariaDB - ASP.NET오류의 원인조차 못 찾고 있습니다.. [3]
3649kokon11/17/201512671예제 파일 실행이 안 되네요 [5]
3647Sang...11/15/201511201Part 3 목차? [5]
3646힘찬도약11/13/201516061c# mscorlib System.IO IOException [8]파일 다운로드2
3644힘찬도약11/11/201515199c# user.config파일 [2]
3645spow...11/13/201512193    답변글 [답변]: c# user.config파일 - Json.NET을 이용한 설정파일 처리 [1]파일 다운로드1
3643힘찬도약11/11/201513991C# 함수의 processing time과 재호출 [14]
3642.net11/10/201512662c# 으로 작성된 com+ 에 대한 문제입니다. [2]
3641힘참도약11/9/201513119c# log file 관련해서 질문드립니다. [5]
3638윤창선11/4/201513683사설IP가 부여된 무선라우터간 영상전송 관련 문의 [8]
3634Hyun...11/2/201511208c# 에서 webkit browser에서 webgl을 이용하는 사이트에 접속이 안됩니다. [1]
... 46  [47]  48  49  50  51  52  53  54  55  56  57  58  59  60  ...