본문 바로가기
C# Anonymous Method : 무명메서드, 일회용으로 메서드를 사용 할 때 C# Anonymous Method 앞의 C# delegate 예제를 보면 예제의 delegate들은 모두 이미 정의된 메서드를 가리키고 있다. 이렇게 미리 정의된 메서드들과는 달리, C# 2.0에서부터 메서드를 미리 정의하지 않아도 되는 무명 메서드 즉 Anonymous Method를 지원하게 되었다. 만약 어떤 메서드가 일회용으로 단순한 문장들로 구성되어 있다면, 굳이 별도의 메서드를 정의하지 않아도 되는 것이다. 무명 메서드를 만들기 위해서는 delegate 키워드와 함께 아래와 같이 파라미터와 실행문장블럭을 적으면 된다.delegate 뒤에 파라미터는 해당 메서드 Prototype에 맞는 동일한 파라미터 타입이어야 하며, 실행문장블럭에는 여러 문장들을 쓸 수 있다. 무명 메서드 : delegate.. 2017. 6. 15.
C# Delegate C# Delegate C# delegate는 c/c++의 함수 포인터와 비슷한 개념으로 메서드 파라미터와 리턴 타입에 대한 정의를 한 후, 동일한 파라미터와 리턴 타입을 가진 메서드를 서로 호환해서 불러 쓸 수 있는 기능이다. 예를 들어 아래 RunDelegate 델리게이트는 입력 파라미터가 int 하나이고 리턴 값이 없는 메서드를 가리킨다.RunThis() 메서드와 RunThat() 메서드는 모두 int 파라미터 하나에 리턴 값이 없는 메스드므로, RunDelegate의 함수 형식(prototype)과 맞으므로 이 delegate를 사용할 수 있다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474.. 2017. 6. 14.
C# 이벤트 C# 이벤트 이벤트는 클래스내에 특정한 일(Event)가 일어났음을 외부의 이벤트 가입자(subscriber)들에게 알려주는 기능을 한다.C#에서는 이벤트는 event라는 키워드를 사용하여 표시하며, 클래스 내에서 일종의 필드처럼 정의된다. 이벤트에 가입하는 외부 가입자 측에서 이벤트가 발생하는 어떤 명령들을 실행할 지를 지정해 주는데, 이를 이벤트 핸들러라 한다. 이벤트에 가입하기 위해서는 += 연산자를 사용하여 이벤트핸들러를 이벤트에 추가한다. 반대로 이벤트핸들러를 삭제하기 위해서는 -= 연산자를 사용한다. 하나의 이벤트에는 여러 개의 이벤트핸들러들을 추가할 수 있으며, 이벤트가 발생되면 추가된 이벤트핸들러들을 모두 차례로 호출한다. 1234567891011121314151617181920212223.. 2017. 6. 14.
C# 네임스페이스 C# 네임스페이스 .NET Framework은 무수하게 많은 클래스들을 가지고 있는데, 예를 들면 .NET 4.0은 약 11,000개의 클래스를 가지고 있다.이렇게 많은 클래스들을 충돌없이 보다 편리하게 관리/사용하기 위해 .NET에서 네임스페이스를 사용한다. C#에서도 이러한 개념을 적용하여 클래스들이 대개 네임스페이스 안에 정의된다. 비록 클래스가 네임스페이스 없이도 정의 될 수는 없지만, 거의 모든 경우 네임스페이스를 정의하는 것이 일반적이다. using System;using System.Collections;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespac.. 2017. 6. 14.
c# Exception 예외처리 C# Exception 예외처리 C#을 포함한 모든 .Net 프로그래밍 언어는 .Net Framework의 Exception 메카니즘에 따라 Exception을 처리한다..Net의 System.Exception은 모든 Exception의 Base 클래스이며, 예외 처리는 이 Exception 객체를 기본으로 처리하게 된다. 만약 Exception이 발생하였는데, 이를 프로그램 내에서 처리하지 않으면 이를 Unhandled Exception이라 부른다. 프로그램은 Crash하여 종료하게 된다. C#에서는 try,catch, finally라는 키워드를 사용하여 Exception을 핸들링하게 되며, 또한 throw라는 c#키워드를 통해 Exception을 만들어 던지거나 혹은 기존 Exception을 다시 던.. 2017. 6. 14.
[c#] 한국 원화 \ 표시하기. 화면에 \3000 이렇게 표시하고 싶었는데 ""\\"" 를 사용하면 역슬래시만 표시 된다.  그래서 \를 표시하기 위해 찾아봤는데 아래의 CultureInfo 클래스를 사용하면 된다. Code.using System.Globalization;double price = 3000; var numberFormat = new CultureInfo("ko-KR", false).NumberFormat; Console.WriteLine("원화 : " + price.ToString("c", numberFormat));Console.WriteLine("원화 : " + price.ToString("n", numberFormat));Console.WriteLine();numberFormat = new CultureInfo(.. 2017. 1. 9.