天天看点

LINQ基础——LET子句

LINQ基础——LET子句

一、简介

用于创建查询自身的范围变量,let语句是重命名。let位于第一个from和select语句之间。

二、案例

案例一:

将字符串数组中的两句英文语句中所有的元音字母打头的单词输出到控制台

string[] strings ={
                 "I am a new Student.",
                 "You are a talent"
                 };

var query = from sentences in strings
            let words = sentences.Split(' ')
            from word in words
            let w = word.ToLower()
            where w[0] == 'a' || w[0] == 'e' || w[0] == 'i' || w[0] == 'o' || 
                     w[0] == 'u'
            select word;

foreach (var word in query)
{
    Console.Write(word + ",");
}      

分析:

LINQ基础——LET子句

首先遍历字符串数组中的每个字符串,用let子句创建查询自身的范围变量words,并调用Split(' ')方法,将每个字符串中以空格分割为单词存入words变量中,然后再次使用let子句创建查询自身的范围变量word,并调用ToLower()方法,将每个单词都变为小写,最后筛选出首字母为元音的单词进行返回。

案例二:

下面let语句是重命名。let位于第一个from和select语句之间。这个例子从联接投影出最终“Let”表达式:

var q =
    from c in db.Customers
    join o in db.Orders on c.CustomerID
    equals o.CustomerID into ords
    let z = c.City + c.Country//重命名
    from o in ords
    select new
    {
        c.ContactName,
        o.OrderID,
        z
    };      

本文来自博客园,作者:農碼一生,转载请注明原文链接:https://www.cnblogs.com/wml-it/p/14836639.html

技术的发展日新月异,随着时间推移,无法保证本博客所有内容的正确性。如有误导,请大家见谅,欢迎评论区指正! 个人开源代码链接: GitHub:

https://github.com/ITMingliang

Gitee:

https://gitee.com/mingliang_it

GitLab:

https://gitlab.com/ITMingliang

进开发学习交流群:
LINQ基础——LET子句