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 + ","); }
分析:
首先遍历字符串数组中的每个字符串,用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 };