当前位置: 首页>>代码示例>>C#>>正文


C# Queryable.DefaultIfEmpty方法代码示例

本文整理汇总了C#中System.Linq.Queryable.DefaultIfEmpty方法的典型用法代码示例。如果您正苦于以下问题:C# Queryable.DefaultIfEmpty方法的具体用法?C# Queryable.DefaultIfEmpty怎么用?C# Queryable.DefaultIfEmpty使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。


在下文中一共展示了Queryable.DefaultIfEmpty方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: DefaultIfEmptyEx1

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void DefaultIfEmptyEx1()
{
    // Create a list of Pet objects.
    List<Pet> pets =
        new List<Pet>{ new Pet { Name="Barley", Age=8 },
                       new Pet { Name="Boots", Age=4 },
                       new Pet { Name="Whiskers", Age=1 } };

    // Call DefaultIfEmtpy() on the collection that Select()
    // returns, so that if the initial list is empty, there
    // will always be at least one item in the returned array.
    string[] names =
        pets.AsQueryable()
        .Select(pet => pet.Name)
        .DefaultIfEmpty()
        .ToArray();

    string first = names[0];
    Console.WriteLine(first);
}
开发者ID:.NET开发者,项目名称:System.Linq,代码行数:26,代码来源:Queryable.DefaultIfEmpty

输出:

Barley

示例2: catch

// Create a list of Pet objects.
    List<Pet> pets =
        new List<Pet>{ new Pet { Name="Barley", Age=8 },
                       new Pet { Name="Boots", Age=4 },
                       new Pet { Name="Whiskers", Age=1 } };

    // This query selects only those pets that are 10 or older.
    // In case there are no pets that meet that criteria, call
    // DefaultIfEmpty(). This code passes an (optional) default
    // value to DefaultIfEmpty().
    string[] oldPets =
        pets.AsQueryable()
        .Where(pet => pet.Age >= 10)
        .Select(pet => pet.Name)
        .DefaultIfEmpty("[EMPTY]")
        .ToArray();

    Console.WriteLine("First query: " + oldPets[0]);

    // This query selects only those pets that are 10 or older.
    // This code does not call DefaultIfEmpty().
    string[] oldPets2 =
        pets.AsQueryable()
        .Where(pet => pet.Age >= 10)
        .Select(pet => pet.Name)
        .ToArray();

    // There may be no elements in the array, so directly
    // accessing element 0 may throw an exception.
    try
    {
        Console.WriteLine("Second query: " + oldPets2[0]);
    }
    catch (Exception e)
    {
        Console.WriteLine("Second query: An exception was thrown: " + e.Message);
    }
开发者ID:.NET开发者,项目名称:System.Linq,代码行数:37,代码来源:Queryable.DefaultIfEmpty

输出:

First query: [EMPTY]
        Second query: An exception was thrown: Index was outside the bounds of the array.


注:本文中的System.Linq.Queryable.DefaultIfEmpty方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。