Microsoft MVP성태의 닷넷 이야기
(글쓴이의 요청으로 삭제합니다.) [링크 복사], [링크+제목 복사],
조회: 12617
글쓴 사람
(none)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

(글쓴이의 요청으로 삭제합니다.)


[연관 글]






[최초 등록일: ]
[최종 수정일: 3/7/2014]


비밀번호

댓글 작성자
 



2014-03-07 03시37분
사실 .NET 기준으로는 "원래이름"을 초기화하지 않아도 됩니다. 단지 C# 컴파일러가 일종의 배려를 한 것입니다. 왜냐하면 if문을 타지 않은 경우에 "원래이름" 변수에 아무것도 값이 들어있지 않으므로 C# 컴파일러는 그런 변수를 사용해서는 안된다고 제약을 가합니다. 따라서 그냥 선언할 때부터 null이라도 넣어서, 개발자가 명시적으로 알고 있다는 '표현'을 해줘야 합니다.

두번째 질문은 어떤 의미인지 제가 잘 모르겠습니다. 변수를 안 쓰는 것과 이후의 스트림 처리랑 무슨 관계인가요? 다시 정리해서 질문해 주세요.

File.ReadAllText 메서드는 내부적으로 FileStream을 이용해 파일의 모든 내용을 읽어서 텍스트로 반환합니다.

저도 효율...적인 방법은 잘 모르겠군요. 분명한 것은, 시간을 투입하는 만큼 결과가 나올 것입니다. ^^ 너무 초조해 마시고... 일단 제 책의 내용을 다 읽어보셨는데도 이해가 안되신다면 다른 책을 하나 더 사는 것도 좋습니다. 그것도 역시 시간을 투입하는 것이기 때문에 결국 가랑비에 옷 젖듯이 천천히 익숙해져 갈 것입니다.
정성태
2014-03-08 02시15분
[(none)] (글쓴이의 요청으로 삭제합니다.)
[guest]
2014-03-08 02시23분
[(none)] (글쓴이의 요청으로 삭제합니다.)
[guest]
2014-03-08 02시37분
[(none)] (글쓴이의 요청으로 삭제합니다.)
[guest]
2014-03-08 02시39분
[(none)] (글쓴이의 요청으로 삭제합니다.)
[guest]
2014-03-09 09시40분
C# 컴파일러는 '사용하는 변수의 상태를 인지하고 있는가?'라고 묻는 것입니다. Pg.46, Pg.52의 경우 선언시 초기화를 하진 않았지만, 코드 실행이 되면서 결국 "반드시" 초기화되므로 상관없습니다.

하지만, 원래의 파일 대화상자 예제에서는 if 문에서 false가 발생하면 변수 자체가 초기화되지 않은 상태로 남게 됩니다.

string var1;
if (var1 == "test")
{
   var1 = "test";
}
Console.WriteLine(var1);

위와 같은 코드에서는 if 문의 결과가 false인 경우 var1이 초기화되지 않은 체로 남게 되므로 개발자한테 이를 알려주는 것입니다. 반면,

string var1;
if (var1 == "test")
{
    var1 = "test";
}
else
{
    var1 = "test1";
}
Console.WriteLine(var1);

위의 경우에는 if/else가 있으므로 var1이 WriteLine메서드에 인자로 전달되기 전 "반드시" 초기화가 되므로 C# 컴파일러는 불평하지 않습니다.

정성태
2014-03-09 09시44분
덧글에서 보여준 OpenFileDialog 예제의 "결과가 없음"이라는 것이 혹시 아무런 대화창도 뜨지 않고 곧바로 프로그램이 닫히는 현상인가요?

this.Close(); 코드 때문이지 않을까 싶은데요.
정성태
2014-03-09 10시39분
[(none)] (글쓴이의 요청으로 삭제합니다.)
[guest]
2014-03-09 10시43분
[(none)] (글쓴이의 요청으로 삭제합니다.)
[guest]

1  2  3  [4]  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5857guest3/17/20232997귀도 반 로썸을 보고 [4]
5856guest3/17/20233208Form1_FormClosing에 closing time을 Sqlite 저장하는 법? [6]파일 다운로드1
5855욜로3/17/20232784C# 메타데이터에서 불러오는 참조 정의가 안됨 [1]
5854민성3/16/20232972안녕하세요 asp.net mvc using문 관련하여 [1]
5853pa3/16/20233225오피스 2016 업데이트 후 파일 출력 불가 [1]
5852guest3/16/20232914입력 foreach 검색/출력 foreach [3]
5851guest3/15/20233248foreach내 list변경 [10]
5850독서가3/14/20232912C#에서 동적dll 사용시 문의입니다. [4]파일 다운로드1
5849guest3/9/20232909C# wpf로 Web에서 구동되는 hts가능한가요? (노트북없고 스마트폰 없음) [4]
5848민성3/9/20232808도움 요청드립니다. [2]파일 다운로드1
5847guest3/7/20232976SQlike Like 구문 - 1시간째 인데 안되네요 [13]
5846Huuu...3/7/20232647웹 다운로드에 대한 고찰 [5]파일 다운로드1
5845guest3/7/20232668C# Split함수의 불친절함 [1]
5844까망이3/7/20232798c# 무료 디컴파일러는 어떤게 좋습니까? [1]
5843guest3/7/20232752판매 후 dll 등 에러 [5]
5842kr13/6/20232793publish 할 때 분석기 관련 dll 제외 [5]
5841guest3/3/20232977프로그램 판매 시 - Upgrade 버전 판매 [2]
5840joe3/2/20233078C# 클래스 라이브러리 수정 -> C++에서 참조시 함수 목록 갱신되지 않음. [4]파일 다운로드1
5839guest3/2/20233713윈도우 서비스 프로그램 - FORM 애플리케이션 감시서비스 [8]
5838랄랄라3/1/20232925event 사용 시 두 표현의 차이점이 있을까요? [1]
5837감사합니...2/28/20233067오라클 DB서버 접속관련 문의 드립니다.(Load Balancing, HA Events) [2]
5836박지범2/27/20232860static instance의 initialize 순서가 보장되나요? [6]
5835주민호2/25/20235695Windows Software Development Kit - 최신버전 1개 남기고 다 삭제하면 안되는지요? [10]파일 다운로드1
5834guest2/24/20232913Python IDE - 비주얼스튜디오 [3]
5833무지남2/23/20232618Async 메서드 그리고 나서 Bool 메서드 [5]
5832김지우2/21/20232922event와 delegate의 차이 , event를 써야하는 이유 [1]
1  2  3  [4]  5  6  7  8  9  10  11  12  13  14  15  ...