首页 > 学院 > 开发设计 > 正文

linq中let关键字学习

2019-11-17 01:50:17
字体:
来源:转载
供稿:网友

linq中let关键字学习

linq中let关键字就是对子查询的一个别名,let子句用于在查询中添加一个新的局部变量,使其在后面的查询中可见。

linq中let关键字实例

1、传统下的子查询与LET关键字的区别

C# 代码 复制
static void Main(string[] args){    int[] numbers = new[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };     //传统下的子查询做法    var query = from num in numbers                select num * (from n in numbers                              where n % 2 == 0                              select n).Count();     //使用LET关键字的做法    var query = from num in numbers          let evenNumbers = from n in numbers                             where n % 2 == 0                              select n           select num * evenNumbers.Count();     foreach (var item in query)    {        Console.WriteLine(item);    }     Console.Read(); } 

2、把每个单词开头包含a或者e的找出来

C# 代码 复制
using System;using System.Linq;public class Test{    static void Main(string[] args)    {        string[] strings = { "A penny saved is a penny earned.", "The aaxly sdj", "the pa is no" };        var query = from sentence in strings                    let Words = sentence.Split(' ')//用空格分割成数组                                    from word in words                    let w = word.ToLower()//把每个字母小写                            where w[0] == 'a' || w[0] == 'e'                    select word;        foreach (var s in query)        {            Console.WriteLine(s);        }        Console.ReadLine();    }}

3、linq实例3

C# 代码 复制
var query = from p in persons            let friendlyName = p.Gender == "男" ? "Mr" : "Ms" + p.Name            select new            {                UserID = p.ID,                FriendName = friendlyName            };foreach (var item in query){    Console.WriteLine("No:{0},Friendly Name:{1}", item.UserID, item.FriendName);}

4、linq实例4

C# 代码 复制
public class Singer    {        public string Name { set; get; }
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表