您的位置:首页 > 编程语言 > C#

c# lambda表达式的应用

2015-09-02 15:38 441 查看
代码如下:

class Program
{
//a:单价*n=应付款   b:付款
delegate double BuySomthing(double a, double b);
static void Main(string[] args)
{
List<People> lst2 = GetPeoples();
//lambda表达式的应用1
foreach (People p in lst2.FindAll(p => p.Sex == "M" && p.Age > 25))
{
Console.WriteLine("姓名:{0},性别:{1},年龄:{2}",p.Name,p.Sex,p.Age);
}
int n = 5;
//lambda表达式的应用2
BuySomthing bs = (a, b) =>
{
if (b < a * n)
{
return 0;
}
else
{
return b - a * n;
}
};
//简单的也可以这样写:BuySomthing bs = (a, b) => b - a * n;
Console.WriteLine(bs(15, 100) == 0 ? "您钱不够了~" : "找零:{0}元", bs(15, 100));
Console.ReadKey();
}
//获取People集合
static List<People> GetPeoples()
{
List<People> lst = new List<People>();
People p1 = new People("zhouyunyu", "F", 28);
People p2 = new People("OJK", "M", 18);
People p3 = new People("LHX", "M", 22);
People p4 = new People("LGJ", "F", 23);
People p5 = new People("LXD", "M", 21);
People p6 = new People("PYQ", "F", 15);
People p7 = new People("zhangsan", "M", 21);
People p8 = new People("LYX", "M", 27);
lst.Add(p1);
lst.Add(p2);
lst.Add(p3);
lst.Add(p4);
lst.Add(p5);
lst.Add(p6);
lst.Add(p7);
lst.Add(p8);
return lst;
}
}

/// <summary>
/// People类
/// </summary>
class People
{
//年龄
private int _age;
public int Age
{
get { return _age; }
set { _age = value; }
}
//姓名
private string _name;
public string Name
{
get { return _name; }
set { _name = value; }
}
//性别
private string _sex;
public string Sex
{
get { return _sex; }
set { _sex = value; }
}
public People(string name, string sex, int age)
{
_name = name;
_sex = sex;
_age = age;
}
}


更多有关lambda请点击这里
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: