|
|
連載:[完全版]究極のC#プログラミング
Chapter15 LINQとクエリ式
川俣 晶
2010/03/17 |
|
|
15.19 単独で使うDefaultIfEmptyメソッド
余談だが、DefaultIfEmptyメソッドは左外部結合専用というわけではなく、単体で使っても役に立つ。列挙を行う際、列挙対象が空の場合に特定の値を補いたい場合には、そのまま使える。
たとえば、次のリスト15.24は、文字列の配列を出力するメソッドを記述した例だが、配列が空の場合は「リストは空です」と出力させる機能を含めた例である。
using System;
using System.Linq;
class Program
{
private static void dumpArray(string[] array)
{
foreach (var s in array.DefaultIfEmpty("リストは空です"))
{
Console.WriteLine(s);
}
}
static void Main(string[] args)
{
string[] t1 = { "Hello!", "Linq!" };
string[] t2 = { };
dumpArray(t1);
// 出力:
// Hello!
// Linq!
dumpArray(t2);
// 出力:
// リストは空です
}
}
|
|
リスト15.24 単体で使ったDefaultIfEmptyメソッド |
普通に書けばif文が1つ必要とされる状況だが、このようにスマートに、式の一部に補うべき値を埋め込むことができている。
Insider.NET 記事ランキング
本日
月間