본문 바로가기
IT Study/C#

[C#] 확장 메서드, 람다

by dev_huhu 2021. 1. 25.
반응형

확장 메서드

: 기존의 클래스를 그대로 유지한 채로 메서드를 추가할 수 있는 방법을 제공한다.

- 여기서 this는 호출 객체를 의미하는 참조자가 아니라, 뒤의 클래스에 대한 확장 메서드임을 의미하는 지정자 이다.

 

using System;

public class Test
{
	public int num = 0;
	public Test(int num) { this.num = num; }
	public int Plus(int a)
	{
		return a + num;
	}

}

public static class TT {
	public static int Minus(this Test t, int a) {
		return t.num - a;
	}
}

class CExample
{
	static void Main()
	{
		Test test = new Test(10);
		Console.WriteLine("더하기: " + test.Plus(3));
		Console.WriteLine("빼기: " + test.Minus(5));
	}
}

 


2. 람다 표현식

  • 인수의 타입을 생략할 수 있다.
  • 표현식 트리로도 변환할 수 있다.

 

인자 타입은 델리게이트 인자 타입으로 추론 가능

delegate(int a){return a + 1;};

a => a + 1;

 

using System;

delegate int dele(int a);

class Example1
{
	static void Main()
	{
		dele d = a => a + 1;
		int num = d(5);
		Console.WriteLine("num = " + num);
	}
}

 

 

반응형

'IT Study > C#' 카테고리의 다른 글

[C#] MDI (Multiple Document Interface)  (0) 2021.03.13
[C#] 리플렉션(Reflection), 애트리뷰트(Attribute)  (0) 2021.03.04
[C#] 프로퍼티(Property), 익명 타입  (0) 2021.01.25
[C#] 암묵적 타입  (0) 2021.01.25
[C#] 스레딩(Threading)  (0) 2021.01.25

댓글