摄影专区

当前位置:金沙7868com > 摄影专区 > 曼富图 400PL-LOW

曼富图 400PL-LOW

来源:http://www.jilawu.com 作者:金沙7868com 时间:2019-11-29 11:27

配置参数

  • 最高工作高度:16.5mm
  • 三脚架类型:快装板13MM
  • 其他性能:3/8寸螺纹附件类型
  • 外形设计:铝, 灰色

查看完整参数>>

Lambda表达式:是一个匿名委托,是一种高效的类似于函数式编程的表达式,也是LINQ的基础。

a=(b>0)?b:-b;
当b>0时,a=b;当b不大于0时,a=-b;
这就是[条件表达式]。其实上面的意思就是把b的绝对值赋值给a。
Lamda表达式
对象方法(参数列表=>表达式或语句块)
Lambda表达式可以有多个参数、一个参数,或者没有参数。其参数类型可以隐式或者显式。示例代码如下:
(x, y) =>x * y //多参数,隐式类型=>表达式
x=>x * 5 //单参数, 隐式类型=>表达式
x=>{ return x * 5; } //单参数,隐式类型=>语句块
(int x) =>x * 5 //单参数,显式类型=>表达式
(int x) =>{ return x * 5; } //单参数,显式类型=>语句块
() =>Console.WriteLine() //无参数
上述格式都是Lambda表达式的合法格式,在编写Lambda表达式时,可以忽略参数的类型,因为编译器能够根据上下文直接推断参数的类型,示例代码如下。
(x, y) =>x + y //多参数,隐式类型=>表达式
例子

Lambda表达式可以有多个参数、一个参数,或者没有参数。其参数类型可以隐式或者显式。示例代码如下:

class MyClass
{
    public delegate void DoSomething(int a);

    //定义方法委托
    private void DoIt(int a) {
        Console.WriteLine(a);
    }

    private void HowtoDo(DoSomething doMethod,int a) {
        doMethod(a);
    }

    public static void Main(string[] args) {
        MyClass mc = new MyClass();
        //调用定义的方法委托
        mc.HowtoDo(new DoSomething(mc.DoIt), 10);
        int x = 10;
        //使用匿名委托
        mc.HowtoDo(delegate(int a){
            Console.WriteLine(a + x);
        },10);

        //使用lamda表达式
        mc.HowtoDo(a=>Console.WriteLine(a+x),10);

        Console.ReadLine();
    }
}
  1. (x, y) => x * y         //多参数,隐式类型=> 表达式  
  2. x => x * 5              //单参数, 隐式类型=>表达式  
  3. x => { return x * 5; }      //单参数,隐式类型=>语句块  
  4. (int x) => x * 5            //单参数,显式类型=>表达式  
  5. (int x) => { return x * 5; }      //单参数,显式类型=>语句块  
  6. () => Console.WriteLine()   //无参数   注:无参数必须显式写()

例:

Func<string,int>strLength=delegate(stringstr){returnstr.Length;};//匿名委托

strLength=(stringstr)=>{returnstr.Length;};//(显式类型参数列表)=> {语句},lambda表达式最冗长版本

strLength=(stringstr)=>str.Length; //(显式类型参数列表)=> 表达式

strLength=(str)=>str.Length;//(隐式类型参数列表)=> 表达式

strLength=str=>str.Length;//参数名 => 表达式

 

本文由金沙7868com发布于摄影专区,转载请注明出处:曼富图 400PL-LOW

关键词: