【C#入門】DefaultIfEmptyの使い方を解説【LINQ】


C#の『DefaultEmpty』の使い方が分からない…

教えてください!


C#を学んでいるけど…

DefaultEmptyの使い方が分からない

このような疑問を持っていませんか?

この記事では、LINQのひとつである『DefaultEmpty』について現役エンジニアが分かりやすく解説します。

時短でC#を学びたい方は、プログラミングスクールを受講しましょう!

Tech Academy

  • 受講者数No.1のプログラミングスクール
  • 通過率10%の選考に合格した優秀な講師
  • カリキュラムを閲覧制限なし
  • コースの種類が豊富
  • オンラインで完結
  • 無料体験あり
  • 無料カウンセリングあり
  • 学割あり

\ 公式サイトはこちら /

Tech Academy 公式サイト

まだ、C#の開発環境構築が出来ていない方はこちらを参考にしてください。

DefaultEmptyの使い方

DefaultEmptyの使い方を解説する前に、DefaultEmptyで何が出来るのかを把握しておきましょう。

DefaultEmpty = 指定した値を出力

このような考え方で問題ありません。DefaultEmptyを使用すると配列などのデータのまとまりから、指定した値を出力できます

それでは、実際のコードを用いながらDefaultEmptyの使い方を解説していきます。

まずは、DefaultEmptyの使い方から説明します。DefaultEmptyを使って抽出するときには以下のように記述します。

配列.DefaultIfEmpty(取得する要素番号)

実際のコードを用いながらDefaultEmptyの使い方を解説していきます。

DefaultEmptyを使ってシーケンスを出力するときには以下のように記述します。

using System;
using System.Collections.Generic;
using System.Linq;

namespace sample
{
    partial class Linq
    {
        public void BlogLinqDefaultIfEmpty()
        {
            //int型の配列を初期化
            List<int> results = new List<int>()
                    {
                        0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

                    };

            //results配列を先頭要素から順にDefaultIfEmpty()を実行
            foreach (var Elements in results.DefaultIfEmpty())
            {
                Console.WriteLine(Elements);
            }
        }
    }
}

サンプルコードを実行した際の出力結果は、以下のようになります。

0
1
2
3
4
5
6
7
8
9
10

注目していただきたいのは、DefaultIfEmptyを使っている19行目です。

まず、DefaultIfEmptyを使うと1行で完結することに気づきましたか?これをfor文などのループ処理で行うと要素数回繰り返す必要があります。これだけでもDefaultIfEmptyが便利であることが分かると思います。

配列.DefaultIfEmpty(取得する要素番号)

12行目~16行目で配列を宣言しています。

その配列に対して、19行目~22行目で DefaultIfEmpty処理を実行しています。

配列の先頭要素から順にDefaultIfEmptyを行うと、変数Elementsにその結果が代入されます。

変数Elementsの値を22行目で出力しています。

出力結果が配列の要素と等しいことからも分かるように、DefaultIfEmptyは与えられたシーケンスの指定された要素を返します

【まとめ】DefaultEmptyはシーケンスの指定された要素を返す

DefaultIfEmptyの使い方は分かりましたか?

まとめ

  • DefaultIfEmpty = 指定した要素を出力
  • 配列.DefaultIfEmpty(取得する要素番号)

この記事では、C#のDefaultIfEmptyの使い方について紹介しました。

今後も一緒に学んでいきましょう!

最後までお読みいただき、ありがとうございました!

Tech Academy

  • 受講者数No.1のプログラミングスクール
  • 通過率10%の選考に合格した優秀な講師
  • カリキュラムを閲覧制限なし
  • コースの種類が豊富
  • オンラインで完結
  • 無料体験あり
  • 無料カウンセリングあり
  • 学割あり

\ 公式サイトはこちら /

Tech Academy 公式サイト