学习lambda表达式

来源:互联网 发布:js单选按钮checked 编辑:程序博客网 时间:2024/05/09 04:40

在 C# 中,=> 是 lamada 运算符,可读为“goes to”

输入一个表示整型的字符串列表,并返回一个列表,包含其中偶数的平方,并且需要按照平方后的结果排序”。

原:

static List<int> GetSquaresOfPositive(List<string> strList){    List<int> intList = new List<int>();    foreach (var s in strList) intList.Add(Int32.Parse(s));    List<int> evenList = new List<int>();    foreach (int i in intList)    {        if (i % 2 == 0) evenList.Add(i);    }    List<int> squareList = new List<int>();    foreach (int i in evenList) squareList.Add(i * i);    squareList.Sort();    return squareList;}

 lamada:

static List<int> GetSquaresOfPositiveByLambda(List<string> strList){    return strList        .Select(s => Int32.Parse(s)) // 转成整数        .Where(i => i % 2 == 0) // 找出所有偶数        .Select(i => i * i) // 算出每个数的平方        .OrderBy(i => i) // 按照元素自身排序        .ToList(); // 构造一个List}

 

要求算一任意长度字符串中不同的字符以及它的个数。 

C# code
var values = (from s in "abcdefgabc" group s by s into g select String.Format("{0}, {1}", g.Key, g.Count())).ToArray();或var values = "abcdefgabc"    .GroupBy(c => c)    .Select(g => String.Format("{0}, {1}", g.Key, g.Count()))    .ToArray();Array.ForEach(values, v => Console.WriteLine(v));
原创粉丝点击