[카테고리:] C#

  • 본문스크랩 연산자 오버로딩

    사용자 정의 클래스가 연산자를 오버로드하는 방법에 대해 설명합니다. 설명연산자 오버로딩을 사용하면 피연산자 하나 또는 둘 모두가 사용자 정의 클래스 또는 구조체 형식인 연산에 대해 사용자 정의 연산자 구현을 지정할 수 있습니다. 자습서에는 두 개의 예제가 있습니다. 첫째 예제에서는 연산자 오버로딩을 사용하여 복잡한 더하기를 정의하는 복잡한 수 클래스를 만드는 방법을 보여 주고, 둘째 예제에서는 연산자 오버로딩을 사용하여 […]

  • 본문스크랩 대리자 (delegate)

    대리자 형식에 대해 설명하며, 대리자를 정적 메서드와 인스턴스 메서드로 매핑하는 방법과 두 메서드를 결합하는 방법(멀티캐스트)을 보여 줍니다. 설명C#에서 대리자는 C나 C++에서의 함수 포인터와 유사합니다. 대리자를 사용하면 프로그래머가 대리자 개체 안에서 메서드 참조를 캡슐화할 수 있습니다. 그렇게 하면 메서드를 호출할 컴파일 타임을 몰라도 참조된 메서드를 호출할 수 있는 코드로 대리자 개체를 전달할 수 있습니다. 그러나 C나 C++의 […]

  • 본문스크랩 이벤트 (Event)

    C#에서 이벤트를 선언, 호출 및 연결하는 방법을 보여 줍니다. 설명C#에서 이벤트는 개체에 어떤 일이 발생하면 클래스에서 해당 클래스의 클라이언트에게 알리는 방법입니다. 이벤트는 그래픽 사용자 인터페이스에서 가장 흔히 사용됩니다. 일반적으로, 인터페이스의 컨트롤을 나타내는 클래스에는 이벤트가 있어서 사용자가 단추를 클릭하는 것과 같이 컨트롤에 임의의 작업을 했을 때 알림을 받습니다.그러나 이벤트를 그래픽 인터페이스에만 사용할 필요는 없습니다. 이벤트는 개체가 해당 […]

  • 본문스크랩 클래스란?

    클래스는class키워드를 사용하여 선언합니다. 다음 형식을 사용합니다. [attributes] [modifiers]classidentifier [:base-list]{class-body}[;]    attributes는 추가 선언 정보입니다. (선택적 요소)    modifiers에 허용된 한정자는 new, abstract, sealed 및 네 개의 액세스 한정자입니다.    ※ 액세스 한정자는 나중에…    identifier는 클레스 이름입니다.    :base-list는 하나의 기본 클래스와 구현되는 모든 인터페이스 목록으로, 모두 쉼표로 구분됩니다.    {class-body}는 클래스 맴버를 선언합니다.  클래스 맴버생성자, 소멸자, 상수, 필드, 메서드, 속성, 인덱서, 이벤트, […]

  • 본문스크랩 클래스 인스턴스 생성자 (new)

    인스턴스 생성자는 인스턴스를 만들고 초기화하는 데 사용됩니다. 다음 형식으로 생성자를 선언할 수 있습니다.[attributes] [modifiers] identifier([formal-parameter-list])[initializer]{constructor-body} attributes(선택적 요소) 추가 선언 정보입니다. modifiers(선택적 요소) 허용된 한정자는 extern 및 네 개의 액세스 한정자입니다. identifier identifier는 클래스 이름과 같습니다.formal-parameters(선택적 요소) 생성자로 전달되는 선택적 매개 변수입니다. 이 매개 변수는 생성자처럼 액세스 가능해야 합니다.initializer(선택적 요소) 생성자 본문을 실행하기 전에 호출됩니다. initializer는 선택적 argument-list를 가진 […]

  • 본문스크랩 클래스 전용 생성자

    전용 생성자는 특수 인스턴스 생성자입니다. 이것은 정적 멤버만 포함하는 클래스에서 일반적으로 사용됩니다. 클래스에 전용 생성자만 한 개 이상 있고 공용 생성자는 없을 경우 중첩 클래스를 제외한 다른 클래스는 이 클래스의 인스턴스를 만들 수 없습니다. 예를 들면 다음과 같습니다.class NLog{   // Private Constructor:   private NLog() {}   public static double e = 2.71828;}빈 생성자를 선언하면 기본 생성자가 […]

  • 본문스크랩 클래스 정적 생성자

    정적 생성자는 클래스를 초기화하는 데 사용됩니다. 이 생성자는 첫 번째 인스턴스가 만들어지기 전이나 정적 멤버가 참조되기 전에 클래스를 초기화하기 위해 자동으로 호출됩니다. 이것은 다음 형식으로 선언됩니다.[attributes]staticidentifier(){constructor-body}다음은 각 문자에 대한 설명입니다.attributes(선택적 요소) 추가 선언 정보입니다.identifier 는 클래스 이름과 같습니다.constructor-body 클래스를 초기화하는 문을 포함하는 블록입니다. 설명정적 생성자는 액세스 한정자를 사용하지 않고 매개 변수를 갖지 않습니다.정적 생성자는 첫 번째 […]

  • 본문스크랩 정규 표현식

    정규 표현식    – 정해진 패턴을 사용해서 패턴에 일치하는데이터 검색을 지원하는 표현식  특수 문자1. ‘.‘    – 임의의 한 문자    – ex) s.e > sae, sbe, sce, sde…            .ce > ace, kce, dce… 2. ‘*‘    – 바로 앞의 문자가 없거나 하나 이상    – ex) s*e > e, se, sse, ssse…            abc* > ab, abc, abcc, abccc…            h*im > im, […]

  • 본문스크랩 텍스트 박스 유효성 검사 모음 (일반, 정규식)

    1. 텍스트박스에 한글만 입력하기a. 키값을 이용한 유효성 검사private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e){    if((Char.IsPunctuation(e.KeyChar) || Char.IsDigit(e.KeyChar) || Char.IsLetter(e.KeyChar) || Char.IsSymbol(e.KeyChar)) && e.KeyChar != 8)    {        e.Handled = true;    }}  2. 텍스트박스에 영어만 입력하기a. 정규식을 이용한 유효성 검사private void textBox1_Leave(object sender, System.EventArgs e){    Regex regex = new Regex(@"[a-zA-Z]");    Boolean ismatch = regex.IsMatch(textBox1.Text);    if (!ismatch)    {        MessageBox.Show("영문자만 입력해 […]

  • 본문스크랩 DataGridView에서 Ctrl+C 후 Excel 2007에 Ctrl+V 할때..

    이러한 상황이 흔하지는 않습니다. 대게(?) DataGridView에서 Excel 파일로 저장해줄 수 있기 때문에 굳이, DataGridView에서 특정 부분의 셀을 드레그한 후 Copy(Ctrl + C)해서 Excel에 Paste(Ctrl + V)를 할일이 없다고 생각이 되는군요-_-;; 하지만, 간혹 DataGridView에 있는 막대한(?) 데이터가 필요가 없고, 원하는 부분만을 복사해서 붙여넣기 식으로 편집하는 쪽이 더 좋다고 생각되어 진다면, 개발자 입장에서는 우길수밖에 없습니다.그냥 써보시라고… 그러나, 마냥 클라이언트쪽의 […]