Microsoft MVP성태의 닷넷 이야기
안녕하세요 C# using 예약어관련 질문드립니다. [링크 복사], [링크+제목 복사]
조회: 2654
글쓴 사람
하주형 (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();
     }
}

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




donaricano-btn



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


비밀번호

댓글 쓴 사람
 



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

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

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

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

[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5534하영7/28/2021136clrprofiler 를 사용하여 세션정보 접근 [6]파일 다운로드1
5533함준혁7/20/2021124.net fpspread 관련 질문입니다.. [1]
5532조윤상7/15/2021184바인딩은 성공 했습니다. 그런데 브라우저에서 인증서가 없다고 나옵니다. [2]
5530ocm7/14/2021215pthread_create [7]파일 다운로드1
5529ksc7/13/2021136Source Generator 관련 질문이 있습니다. [1]
5528초심으로7/9/2021170MDI 에서 USB 연결해제 알림이 안되는 문제 질문 드려봅니다. [7]파일 다운로드1
5527wuny7/7/2021112제어관련 고민을하다가 소캣방식 선택 [2]
5526이성열7/7/2021133wpf x64로 만든 메인 프로그램에서 dll로 된 UserControl 속성이 디자인타임에 잘 안보이는 문제 [10]파일 다운로드2
5525Wuny7/7/2021176제가 만든 배포파일은 window에서 막는걸까요? [2]파일 다운로드1
5524하이스컬7/2/2021171특정 이벤트에서 다른 이벤트 호출 관련 문의 [3]
5523민우7/1/2021212도커 사용시 윈도우 이미지 생성도 가능한가요? [2]
5522질문6/28/2021331WPF에서 splash screen이 나타나는 위치를 변경할 수 있나요? [3]
5521김민혁6/24/2021205.exe 파일 에러에 관한 질문 입니다. [3]
5520한예지6/21/2021194랜덤함수 질문있습니다!! [2]
5519리얼킴6/19/2021280.net framwork 4.0 에서 4.8로 꼭 가야할까요?? [1]
5518한예지6/18/2021299ArrayList, IList에 대해 질문 있습니다. [3]
5517wunsy6/18/2021267winform에서 Button 활성화, 비활성화 [4]
5516ocm6/15/2021355mips 어셈블리 연산 다시 질문드려요 (첨부파일 갱신됨) [2]파일 다운로드1
5515ocm6/14/2021352mips 어셈블리 연산 [6]파일 다운로드1
5514jongs6/11/2021265GethashCode와 String대한 질문 [2]
5513labeling6/11/2021205C# Winform 에서 Label에 동일한 Color를 넣었을 때 처리방법이 궁금합니다. [2]
55126/11/2021201xlwings 가 실행조차 되지 않습니다. ㅠㅠ [4]
5511Syong6/9/2021227User Control에 string array 속성 추가하는 방법 [4]
5510jay6/8/2021233string 문자열에 쌍따옴표(")를 넣고 싶습니다. [1]파일 다운로드1
5509한예지6/3/2021298ExeccuteNonQuery 질문있습니다! [2]
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...