C#中的let字句应用示例

作者:袖梨 2022-06-25

一、应用场景

在查询表达式中,存储子表达式的结果有时很有用,这样可以在随后的子句中使用。 可以使用 let  关键字完成这一工作,该关键字可以创建一个新的范围变量,并且用您提供的表达式的结果初始化该变量。  一旦用值初始化了该范围变量,它就不能用于存储其他值。 但如果该范围变量存储的是可查询的类型,则可以对其进行查询。

二、示例代码

 代码如下复制代码

usingSystem;

usingSystem.Linq;

 

namespaceUseLet

{

 classProgram

 {

 staticvoidMain()

 {

  string[] strings = {

  "A penny saved is a penny earned.",

  "The early bird catches the worm.",

  "The pen is mightier than the sword."

  };

 

  var earlyBirdQuery = from sentenceinstrings

     let words = sentence.Split(' ')

     from wordinwords

     let w = word.ToLower()

     where w[0] =='a'|| w[0] =='e'|| w[0] =='i'|| w[0] =='o'|| w[0] =='u'

     select word;

 

 foreach(var vinearlyBirdQuery)

  {

  Console.WriteLine(""{0}" starts with a vowel", v);

  }

 

  Console.WriteLine("Press any key to exit");

  Console.ReadLine();

 }

 }

}

从上面效果可以看出子句let的作用。如果不使用 let,则必须在 where 子句的每个谓词中调用 ToLower,并且let可以保存from字句中的变量来使用。

相关文章

精彩推荐