2009년 6월 14일 일요일

C#에서 string.Empty 와 ""

C#에서 string.Empty 와 ""



 C# Coding Standard (Coding Style) 을 보다 보면 다음과 같은 항목이 있다.
""대신에 string.Empty를 사용하라!!
 분명 이렇게 하라는 이유가 있을 것 같기에 자료좀 찾아 보았다.


1. string.Empty와 ""는 사용상의 약간의 차이점이 존재 하지만 동일한 의미 이다.

""를 사용하는 곳에 string.Empty를 사용할 수 있다.
단, switch case 문에서 case 문에는 string.Emtpy가 올 수 없다.


2. string.Empty와 ""은 동일한 의미를 가지지만 내부적으로는 다르다.?!
다음의 블로그에 가보면 string.Empty와 ""는 내부적으로 다른 점을 갖고 있다고 말한다.
http://www.sleepyon.com/133
즉, ""는 컴파일 타임에 내부적으로 object 객체를 생성하고, string.Emtpy는 객체를 생성하지 않는다.
따라서 string.Emtpy를 사용하는 것이 더 효율적인 코드라고 말하고 있다.
그런데... 믿지 못하겠다. -_-;;

null 문자인지 비교하는 방법에 대한 차트도 보여주고 있다.
if (str == "")
보다는
if (string.isNullOrEmpty(str))
이 빠른 비교 속도를 나타낸다고 한다.




3. string.Emtpy 보단 ""를 사용할 때 이점이 더 많다?!
다음의 블로그에 보면 string.Empty 보다 ""를 사용할 때 이점이 더 많다고 말하고 있다.
http://dotnetperls.com/string-empty

즉, if (string.Empty == null) 보다
if ("" == null) 이 빠른 비교 속도를 나타낸다고 말하고 있다.


4. C# "" better than string.Empty ??
위 3번 글에 대한 어느 분의 대한 생각 글이다.
http://blog.dmbcllc.com/2009/04/20/c-better-than-stringempty/
3번에서 테스트한 시나리오가 현실에 맞지 않는다는 것과,
그 결과 역시 항상 ""가 너 좋지만은 않다는 것이다.
여전히 ""를 사용할 때 보다 string.Empty를 사용할 때 도 많은 이점을 누리게 된다고 말하고 있다.




난??
난 string.Emtpy를 더 즐겨 사용하려 한다.
일단 코드를 봤을 때 더 명시적으로 다가와서 좋으며
string보단 StringBuilder를 사용해야 되지 않겠는가!

2009년 6월 11일 목요일

WinForm의 종료 - Application.Exit()

WinForm의 종료 - Application.Exit()




WinForm을 종료 시키는 메소드는 2가지가 있다.
    Application.Exit()
    Application.ExitThread()

Exit() 메서드는 해당 WinFrom의 모든 스레드를 종료 시킨다.
ExitThread() 메서드는 현재 스레드에 대한 메시지 루프만 종료 시킨다.

Exit()는 일반적으로 메시지 루프 내에서 실행되어 Run이 반환 되도록 한다.

Exit() 메서드를 호출하면 다음 이벤트가 순서대로 발생하여 WinForm을 종료 시킨다.
Application.Exit() → FormClosing → FormClosed



cf) Application 클래스
- 응용프로그램 그 자체를 나타내는 클래스
- 객체를 생성할 수 없으며, 상속에 사용할수도 없다.
- 정적 메스드의 집합
- 응용프로그램의 시작, 메시지 처리, 종료, 여러 가지 정보 조사등의 작업을 하는
  정적 메서드와 프로퍼티의 집합





http://msdn.microsoft.com/en-us/library/ms157894.aspx





2009년 6월 8일 월요일

[Coding Style] C# Coding Style


처음 국내 인터넷에 소개된 Coding Style에 대한 자료를 읽었는데 Coding Style은 국내보다 해외쪽에서 더 관심이 많고, 이슈된것도 많고 또 자료도 많은것 같다. 이쪽(?!!)으로 눈이 넓은 친구로 부터 전달받은 자료인데 잘 참고하면 도움이 많이 될 것 같다.