程序的运行结果如下:
11.Range 用于生成指定范围内的“整数”序列
12.Repeat用于生成指定数量的重复元素
13.Empty 用于获得一个指定类型的空序列
14.DefaultIfEmpty 用于获得序列,如果为空,则添加一个默认类型元素
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Range_Empty_DefalultIfEmpty
{
/// <summary>
/// DebugLZQ
/// http://www.easck.com/DebugLZQ
/// </summary>
class Program
{
static void Main(string[] args)
{
//11.Range 用于生成指定范围内的“整数”序列
var num2 = Enumerable.Range(10, 15);
//12.Repeat用于生成指定数量的重复元素
var guest = new {Name="橙子",Age=25 };
var Guests = Enumerable.Repeat(guest, 5);
//13.Empty 用于获得一个指定类型的空序列
var empty = Enumerable.Empty<string>();
//14.DefaultIfEmpty 用于获得序列,如果为空,则添加一个默认类型元素
//a
var intempty = Enumerable.Empty<int>();
Console.WriteLine(intempty.Count());
Console.WriteLine("-----------");
foreach (var n in intempty)
{
Console.WriteLine(n);
}
Console.WriteLine("-----------");
Console.WriteLine(intempty.DefaultIfEmpty().Count());
Console.WriteLine("-----------");
foreach (var n in intempty.DefaultIfEmpty())
{
Console.WriteLine(n);
}
Console.WriteLine("--------------------------");
Console.ReadKey(false);
//b
string[] names = { "DebugLZQ", "DebugMan", "Sarah", "Jerry", "Tom", "Linda", "M&M", "Jeffery" };
var query = from name in names
where name == "LBJ"
select name;
Console.WriteLine(query.Count());
Console.WriteLine(query.DefaultIfEmpty().Count());//默认为null
foreach (var n in query.DefaultIfEmpty())
{
Console.WriteLine(n);
}
Console.WriteLine("---------------");
Console.ReadKey(false);
//c指定一个默认值
foreach (var n in intempty.DefaultIfEmpty(100))
{
Console.WriteLine(n);
}
Console.WriteLine("--------------------------");
Console.ReadKey(false);
foreach (var n in query.DefaultIfEmpty("James"))
{
Console.WriteLine(n);
}
Console.ReadKey(false);
}
}
}











