欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#中的let字句应用示例

程序员文章站 2023-10-31 13:28:16
一、应用场景 在查询表达式中,存储子表达式的结果有时很有用,这样可以在随后的子句中使用。 可以使用 let 关键字完成这一工作,该关键字可以创建一个新的范围变量,并且...

一、应用场景

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

二、示例代码

using system;
using system.linq;

namespace uselet
{
 class program
 {
 static void main()
 {
  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 sentence in strings
     let words = sentence.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 v in earlybirdquery)
  {
  console.writeline("\"{0}\" starts with a vowel", v);
  }

  console.writeline("press any key to exit");
  console.readline();
 }
 }
}

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。