Func 의뢰
22691 단어 C#
네 임 스페이스: System
프로그램 집합:
mscorlib
(mscorlib. dll 에서)
문법
C#
C++
F#
VB
public delegate TResult Func<in T, out TResult>(
T arg
)
유형 매개 변수
in
T
이 위탁 패 키 징 방법의 매개 변수 형식 입 니 다.
이 유형의 매개 변 수 는 역 변 적 이다.지정 한 유형 이나 파생 정도 가 낮은 유형 을 사용 할 수 있다 는 것 이다.협 변 과 역 변 에 관 한 더 많은 정 보 는 범 형 중의 협 변 과 역 변 을 참조 하 시기 바 랍 니 다.
out
TResult
이 위탁 패 키 징 방법의 반환 값 형식 입 니 다.
이 유형의 매개 변 수 는 협 변 적 이다.지정 한 유형 이나 파생 정도 가 높 은 유형 을 사용 할 수 있다 는 것 이다.협 변 과 역 변 에 관 한 더 많은 정 보 는 범 형 중의 협 변 과 역 변 을 참조 하 시기 바 랍 니 다.
매개 변수
arg
형식:
T
이 패키지 방법 에 대한 인자 입 니 다.
반환 값 형식:
TResult
이 의뢰 패키지 방법의 반환 값 입 니 다.
비고
이 의뢰 를 사용 하면 사용자 정의 의뢰 를 명시 하지 않 고 매개 변수 로 전달 할 수 있 는 방법 을 표시 할 수 있 습 니 다. 패 키 징 방법 은 이 의뢰 가 정의 한 방법 과 서명 해 야 합 니 다. 즉, 패 키 징 방법 은 값 을 통 해 전달 되 는 매개 변 수 를 가지 고 값 을 되 돌려 야 한 다 는 것 이다.
주의 하 다.
매개 변 수 를 참조 하고 되 돌려 주 려 면 void 비 주 얼 베 이 직 Sub 성명 되 는 것 이 아니 라 Function 범 형 Action
사용 중 Func
C#
VB
using System;
delegate string ConvertMethod(string inString);
public class DelegateExample
{
public static void Main()
{
// Instantiate delegate to reference UppercaseString method
ConvertMethod convertMeth = UppercaseString;
string name = "Dakota";
// Use delegate instance to call UppercaseString method
Console.WriteLine(convertMeth(name));
}
private static string UppercaseString(string inputString)
{
return inputString.ToUpper();
}
}
다음 예제 에 서 는 이 코드 를 간소화 하 였 으 며, 그것 이 사용 하 는 방법 은 실례 화 되 었 다. Func
C#
VB
using System;
public class GenericFunc
{
public static void Main()
{
// Instantiate delegate to reference UppercaseString method
Func<string, string> convertMethod = UppercaseString;
string name = "Dakota";
// Use delegate instance to call UppercaseString method
Console.WriteLine(convertMethod(name));
}
private static string UppercaseString(string inputString)
{
return inputString.ToUpper();
}
}
다음 예제 에 따라 C \ # 에서 보 여줄 수 있 습 니 다. Func
C#
using System;
public class Anonymous
{
public static void Main()
{
Func<string, string> convert = delegate(string s)
{ return s.ToUpper();};
string name = "Dakota";
Console.WriteLine(convert(name));
}
}
다음 예제 에서 보 여 준 대로 lambda 표현 식 을 할당 할 수 있 습 니 다. Func
C#
VB
using System;
public class LambdaExpression
{
public static void Main()
{
Func<string, string> convert = s => s.ToUpper();
string name = "Dakota";
Console.WriteLine(convert(name));
}
}
Lambda 표현 식 의 기본 형식 은 범 형 입 니 다. Func 의뢰 의 하나. 이렇게 하면 매개 변수 형식 으로 lambda 표현 식 을 전달 할 수 있 으 며, 명시 적 으로 의뢰 에 배분 하지 않 아 도 됩 니 다. 특히 System.Linq 네 임 스페이스 에는 여러 가지 방법 이 있 습 니 다. Func
예시
다음 예제 에 서 는 어떻게 설명 하고 사용 하 는 지 보 여 줍 니 다. Func
C#
VB
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
static class Func
{
static void Main(string[] args)
{
// Declare a Func variable and assign a lambda expression to the
// variable. The method takes a string and converts it to uppercase.
Func<string, string> selector = str => str.ToUpper();
// Create an array of strings.
string[] words = { "orange", "apple", "Article", "elephant" };
// Query the array and select strings according to the selector method.
IEnumerable aWords = words.Select(selector);
// Output the results to the console.
foreach (String word in aWords)
Console.WriteLine(word);
}
}
/*
This code example produces the following output:
ORANGE
APPLE
ARTICLE
ELEPHANT
*/
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.