Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#의 Func 제네릭 유형

<시간/>

Func 제네릭 유형은 익명 메소드를 저장하며 매개변수화된 유형입니다.

아래 예에는 4개의 func 유형 인스턴스가 있습니다 -

첫 번째 유형은 int를 수신하고 문자열을 반환합니다.

Func<int, string> one = (p) => string.Format("{0}", p);

두 번째 유형은 bool 및 long을 수신하고 문자열을 반환합니다.

Func<bool, long, string> two = (q, p) =>string.Format("{0} and {1}", q, p);

세 번째 유형은 bool 및 int를 수신하고 문자열을 반환합니다.

Func<bool, int, string> three = (q, p) => string.Format("{0} and {1}", q, p);

네 번째 유형은 10진수를 받고 문자열을 반환합니다.

Func<decimal, string> four = (p) =>string.Format("{0}", p);

표시하는 방법을 알아보겠습니다 -

예시

using System;
using System.IO;

namespace Demo {
   class Program {
      static void Main(string[] args) {

         // four func type instance
         // first type receives int and returns string
         Func<int, string> one = (p) =>
         string.Format("{0}", p);

         // second type receives bool & long and returns string
         Func<bool, long, string> two = (q, p) =>
         string.Format("{0} and {1}", q, p);

         // three type receives bool & int and returns string
         Func<bool, int, string> three = (q, p) =>
         string.Format("{0} and {1}", q, p);

         // fourth type receives decimal and returns string
         Func<decimal, string> four = (p) =>
         string.Format("{0}", p);

         Console.WriteLine(one.Invoke(25));
         Console.WriteLine(two.Invoke(false, 76756566));
         Console.WriteLine(three.Invoke(true, 50));
         Console.WriteLine(four.Invoke(1.2m));
      }
   }
}

출력

25
False and 76756566
True and 50
1.2