Linq学习笔记之生成操作符

生成操作符Range()、Empty()和Repeat()不是扩展方法,而是返回序列的正常静态方法,这些方法可用于Enumerable类

 

一、Range()

  有时需要填充一个范围的数字,此时就应使用Range()方法,这个方法把第一个参数作为起始值,把第二个作为要填充的项数

  如下例所示:

  

var values = Enumerable.Range(2, 4);



foreach (var value in values)

{

   Console.WriteLine(value);

}



// 2,3,4,5

 

可以把该结果与其它扩展方法合并起来,活得另一个结果,例如,使用Select()扩展方法

var values = Enumerable.Range(2, 4).Select(t => t * 3);



// 6,9,12,15

Range()方法不返回填充了所定义值的集合,这个方法同其它方法一样,也推迟执行查询

 

二、Repeat()

  该方法返回一个迭代器,该迭代器把同一个值重复特定的次数

  

var values = Enumerable.Repeat("AA", 4);



// AA AA AA AA

 

三、Empty()

  该方法返回一个具有指定类型参数的空IEnumerable<T>

  如下例所示  

var values = Enumerable.Empty<int>();



Console.WriteLine(values.Count());



// 0

 

你可能感兴趣的:(LINQ)