c#函数func用lambda表达式怎么写

2025-04-28 05:54:29
推荐回答(2个)
回答1:

一般都是匿名的委托方式,直接传参数进去:

例如:

Func t=(int x, string b) => (x.ToString() + b);就等于private  string  deletegate  TestString(int x, string b );//定义一个委托,返回值为string类型

private string  test(int x,string b){
  return x.ToString() + b;


TestString t=new TestString(test);
t(44,"bbb");


Func就是定义一个委托=private  string  deletegate  TestString(int x string b ),前两个参数是相应方法的参数类型,最后一个为方法的返回类型。

回答2:

using System;
public class GenericFunc
{
   public static void Main()
   {
      // Instantiate delegate to reference UppercaseString method
      Func convertMethod = UppercaseString;//非lambda
      //或者
      Func convertMethod2 = (s)=>{return  s.ToUpper();};//lambda表达式
      string name = "Dakota";
      // Use delegate instance to call UppercaseString method
      Console.WriteLine(convertMethod(name));
   }

   private static string UppercaseString(string inputString)
   {
      return inputString.ToUpper();
   }
}

func是个泛型委托,上面是采用 string作为返回值和参数的版本