Microsoft MVP성태의 닷넷 이야기
안녕하세요 C# using 예약어관련 질문드립니다. [링크 복사], [링크+제목 복사],
조회: 16375
글쓴 사람
하주형 (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로 바꿔서 보면 눈에 들어올 것입니다.
정성태

... 76  77  78  79  80  81  82  83  84  [85]  86  87  88  89  90  ...
NoWriterDateCnt.TitleFile(s)
344선재빠4/10/200615647ASP.NET 2.0에서는 VIEWASTEXT 이란 태그옵션을 지원하지 않는군요 [3]
343선재빠4/10/200615101아래와 같은 에러가 나네요.
341선재빠4/8/200614848테스트 페이지를 보면 프레임만 나오고 안에 내용이 나오지 않는군요 [1]
340김형태4/4/200613884파일서버 관련 질문드립니다.. (데브피아 답변에 이어) [2]
339조남정4/4/200613875post 주소 읽어오기 [1]
338장두헌4/4/200615537SDK PlatForm 다시 질문 - 데브피아의 내용 [1]
337강완모4/3/200615861Cab파일이 아닌 설치용 파일로 OCX들 설치하기... [1]
335비니3/23/200617024밑에 Smart Client에 대해서 질문했던 초보입니다.. TreeView컨트롤은 보이는데 안에 내용이 안보여요. [1]
336비니3/24/200614745    답변글 [재질문]:자꾸 죄송합니다...링크페이지로 이동을 안해요.... [1]
334비니3/23/200614336Smart Client강의 따라해보다가 xml에서 활성스키마는 <Tree>,<L> 요소는 지원하지 않는다고 나와요.ㅠㅠ [1]
332정준명3/21/200614527[자문자답] VS.NET에서 COM을 참조했는데, 강력한 서명이 없다고 사용불가네요.
333정성태3/22/200612826    답변글 [답변]: [자문자답] VS.NET에서 COM을 참조했는데, 강력한 서명이 없다고 사용불가네요. [1]
330심현철3/3/200616106[질문] VS2005에서 C#으로 개발한 DLL을 Javascript에서 접근할 수 없습니다. (ActiveX with C#) [2]
329권인성2/27/200613834스마트클라이언트(clickonce) 버전관리 [1]
327권인성2/24/200613688clickonce를 통해 설치 및 업데이트하려고 하는데요...보안때문에요..
331정성태3/12/200614763    답변글 [답변]: clickonce를 통해 설치 및 업데이트하려고 하는데요...보안때문에요..
325권인성2/23/200613293SETUP 및 배포관련 [1]
326권인성2/23/200612784    답변글 [답변]: 한가지만 더 질문할게요.... [1]
323정보문2/21/200613292메일 내용에서 한글이 깨집니다. [1]파일 다운로드1
321셈토2/18/200613149SPOOL --> EMF --> TEXTOUT [1]
320정보문2/18/200612855파일의 최대 크기2 [1]
318정보문2/18/200614140파일의 최대 크기
319정성태2/18/200614038    답변글 [답변]: 파일의 최대 크기 [1]
317narc...2/17/200613061[IE embeded SmartClient]에서 닷넷 리모팅 프록시 사용시 처음 2분간 딜레이현상이 발생합니다. [1]
322narc...2/20/200613985    답변글 [답변]: 다시한번 부탁드리겠습니다..
316이경찬2/15/200615510MSDN 매거진 정기구독 신청은 어디서 할수있나요? [1]
... 76  77  78  79  80  81  82  83  84  [85]  86  87  88  89  90  ...