Lambda表达式
来源:互联网 发布:oracle默认数据库 编辑:程序博客网 时间:2024/05/22 08:14
Lambda表达式是对匿名方法(只有方法体,没有方法名称)的一种改进。
(参数列表)=>{方法体} (=>读作goes to)
(int x,int y)=>{return x>y?x:y;}
如果Lambda语句的方法只有一条return语句,且return语句有返回类型,则return关键字、分号、大括号都可以省略。
(x,y)=>x>y?x:y;
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Lambda{ class Program { static void Main(string[] args) { List<Student> listStu = new List<Student>(); Random r = new Random(); for (int i = 0; i < 50; i++) { Student s = new Student(); s.No = "S" + i.ToString("00");// s.Math = r.Next(0, 100); s.English = r.Next(0, 100); s.Computer = r.Next(0, 100); listStu.Add(s); } //统计平均成绩75以上的学生 int n = listStu.Count( s //Lambda表达式的输入参数,这里表示输入一个学生 => (s.Computer + s.English + s.Math) / 3 >= 75 //返回一个bool值 );//返回序列中的元素数量 Console.WriteLine("有{0}个学生的成绩在平均75分以上", n); listStu.ForEach( //针对列表中的每一个元素都做一个操作 s => { Console.WriteLine("学号:{0}\t 数学:{1:00}\t 英语:{2:00}\t 计算机:{3:00}", s.No, s.Math, s.English, s.Computer); }//没有返回体,所以明确地使用大括号 ); Console.ReadKey(); } } class Student { public string No { get; set; } public double Math { get; set; } public double English { get; set; } public double Computer { get; set; } public double Total { get { return Math + English + Computer; } } public double Average { get { return (Total) / 3; } } }}
效果:
但是,如果上面的代码写成:
Console.WriteLine("学号:{0}\t 数学:{1}\t 英语:{2}\t 计算机:{3}", s.No, s.Math, s.English, s.Computer);
效果就变成如下效果了:
算是个小知识点吧
0 0
- Lambda Expressions(Lambda表达式)
- Lambda表达式
- Lambda表达式
- Lambda 表达式
- Lambda表达式
- lambda表达式
- lambda表达式
- Lambda表达式
- Lambda表达式
- Lambda表达式
- Lambda表达式
- Lambda 表达式
- Lambda表达式
- Lambda 表达式
- Lambda 表达式
- Lambda表达式
- Lambda表达式
- Lambda 表达式
- Fedora 20 为内核建立可用的源码树
- 缩略图的生成与添加水印
- 文件大小格式化(JS)
- 小白一键重装系统软件下载到99%不动无法安装
- HDU 1201 18岁生日
- Lambda表达式
- 窥视UML
- 日语学习之沪江N4基础 20141130 -3
- 【JNI】JNI中java类型的简写
- linux socketcan驱动编写及使用(研华PCI-1680)
- Windows优化大师使用技巧
- 数据库知识点总结(1)
- 《编程之美》中国象棋将帅问题
- redhat6.0配置163的yum