It’s me

March 18, 2009

마지막 글자 제거

Filed under: C# — rothmans @ 1:57 pm

str.Substring(0, str.Length - 1);

April 14, 2008

처리 시간 확인

Filed under: .NET 2.0 — rothmans @ 10:36 am

NET Framework 2.0의 System.Diagnostics네임스페이스에 속해 있는 Stopwatch클래스를 사용한 처리 시간 확인
이 인스턴스를 선언하고 Start메소드와 Stop메소드를 호출하기만 하면 됩니다. 그 실행된 시간은 ElapsedMilliseconds속성(밀리초), Elapsed속성, ElapsedTicks속성으로부터 얻을 수 있습니다.

 

using System;
using System.Diagnostics;

class StopWatch {
 static void Main() {
  Stopwatch sw = new Stopwatch();
  sw.Start();
  System.Threading.Thread.Sleep(2000); // 2초
  sw.Stop();

  long millisec = sw.ElapsedMilliseconds;
  Console.WriteLine(millisec); // 결과: 1999
  TimeSpan ts = sw.Elapsed;
  Console.WriteLine(ts); // 결과: 00:00:01.9995977

  Console.WriteLine(Stopwatch.IsHighResolution); // 고성능 타이머 이용가능한지 체크

  long tick = sw.ElapsedTicks;
  Console.WriteLine(tick); //결과: 7157650
 }
}

 

October 10, 2007

C#의 조건연산자(?:)와 Null-Coalescing 연산자(??)

Filed under: C# — rothmans @ 11:07 am

변수를 할당하는 방법중에 일반적으로 조건연산자를 사용합니다. 하지만 변수가 Null이 아닌경우에만 사용이 가능합니다. 만약 C#에서 Null인 경우에는 다음과 같이 조건연산자를 사용합니다

string strValue = oldValue != null ? oldValue : "변수 값";

oldValue 가 Null 이 아닌 경우에는, strValue 에 oldValue 가 할당되고, 이외에는 strValue에 “변수 값”이 할당됩니다.

이것은 Null-Coalescing 연산자를 사용하여 다음과 같이 구현합니다

string strValue = oldValue ?? "변수 값";

이 로직은 동일합니다. oldValue가 Null 이 아니면, strValue 변수에 oldValue가 할당됩니다.

또한 Null-Coalescing 연산자는 여러가지 Null 유형에 대한 지원이 제공됩니다.

int? count = null;

int strValue = count ?? default (int);

count가 null이면, strValue에는 Integer 유형의 기본값이 할당됩니다(int 기본값인 0으로)

Blog at WordPress.com.