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


C#の『TakeWhile』の使い方が分からない…教えてください!


C#を学んでいるけど…

TakeWhileの使い方が分からない

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

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

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

TakeWhileの使い方

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

TakeWhile = 始めの要素から条件を満たしている間の要素を全て取得

このような考え方で問題ありません。TakeWhileを使用すると配列(リスト)の中から、始めの要素から条件を満たしている間の全ての値を返します。

似ているような用法に「Take」と「SkipWhile」と「Where」があります。

Takeについて分からない方は、以下の記事を参考にしてください。

SkipWhileについて分からない方は、以下の記事を参考にしてください。

Whereについて分からない方は、以下の記事を参考にしてください。

SkipTakeWhileの違いは以下のようになります。

Skipとの違い

  • Skip ⇒ 指定したインデックスから最後までの要素の値を返す
  • TakeWhile ⇒ 始めの要素から条件を満たしている間の要素を全て返す
  • While ⇒ 条件を満たしている要素の値を返す

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

まずは、TakeWhileの使い方から説明します。TakeWhileを使うときには以下のように記述します。

配列.TakeWhile(条件式)

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

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

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

namespace sample
{
    class LinqTakeWhile
    {
        static public void BlogLinqTakeWhile()
        {
            //値一覧を変数NumberListとして宣言・初期化
            List<int> NumberList = new List<int>() {3, 5, 1, 10, 7, 2, 6, 4, 9, 8};

            //SkipWhileの実行結果を出力
            Console.WriteLine($"2までの値");

            var list = NumberList.TakeWhile(n => n != 2);

            foreach (var item in list)
            {
                Console.WriteLine(item);
            }
        }
    }
}

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

2までの値
3
5
1
10
7

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

配列.TakeWhile(条件式)

これを基にサンプルコードを解説すると、「配列 = NumberList」、「条件式 =(n != 2)」となります。

つまり、配列(NumberList)のうち条件式(n != 2)を満たしている間の値を出力(Console.WriteLine)するということです。

このようにして、C#ではTakeWhileを使用することで、コードを簡潔に書くことが出来ます。

【まとめ】TakeWhileは指定したインデックス位置にある値を出力できる

TakeWhileの使い方は理解できましたか?

まとめ

  • TakeWhile = 始めの要素から条件を満たしている間の要素を取得
  • 配列.TakeWhile(条件式)

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

最後になりますが、ここに関してもっと詳しく教えて欲しいときなどは、遠慮なく、お問い合わせ、コメント、Twitterにてご連絡ください。

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

Tech Academy

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

\ 公式サイトはこちら /

Tech Academy 公式サイト