C#の『SkipWhile』の使い方が分からない…教えてください!
C#を学んでいるけど…
「SkipWhileの使い方が分からない」
このような疑問を持っていませんか?
この記事では、LINQのひとつである『SkipWhile』について現役エンジニアが分かりやすく解説します。
まだ、C#の開発環境構築が出来ていない方はこちらを参考にしてください。
SkipWhileの使い方
SkipWhileの使い方を解説する前に、SkipWhileで何が出来るのかを把握しておきましょう。
SkipWhile = 条件を満たした要素以降の値を取得
このような考え方で問題ありません。SkipWhileを使用すると配列(リスト)の中から、条件を満たした値以降の値全てを返します。
似ているような用法に「Skip」と「TakeWhile」と「Where」があります。
Skipについて分からない方は、以下の記事を参考にしてください。
TakeWhileについて分からない方は、以下の記事を参考にしてください。
Whereについて分からない方は、以下の記事を参考にしてください。
SkipとSkipWhileの違いは以下のようになります。
それでは、実際のコードを用いながらSkipWhileの使い方を解説していきます。
まずは、SkipWhileの使い方から説明します。SkipWhileを使うときには以下のように記述します。
配列.SkipWhile(条件式)
実際のコードを用いながらSkipWhileの使い方を解説していきます。
SkipWhileを使ってシーケンスを出力するときには以下のように記述します。
using System;
using System.Collections.Generic;
using System.Linq;
namespace sample
{
class LinqSkipWhile
{
static public void BlogLinqSkipWhile()
{
//値一覧を変数NumberListとして宣言・初期化
List<int> NumberList = new List<int>() {3, 5, 1, 10, 7, 2, 6, 4, 9, 8};
//SkipWhileの実行結果を出力
Console.WriteLine($"10以上の値から最後までの値");
var list = NumberList.SkipWhile(n => n != 2);
foreach (var item in list)
{
Console.WriteLine(item);
}
}
}
}
サンプルコードを実行した際の出力結果は、以下のようになります。
10以上の値から最後までの値
2
6
4
9
8
注目していただきたいのは、SkipWhileを使っている17行目です。
配列.SkipWhile(条件式)
これを基にサンプルコードを解説すると、「配列 = NumberList」、「条件式 =(n != 2)」となります。
つまり、配列(NumberList)のうち条件式(n != 2)を満たす値から最後までの値を出力(Console.WriteLine)するということです。
このようにして、C#ではSkipWhileを使用することで、コードを簡潔に書くことが出来ます。
【まとめ】SkipWhileは指定したインデックス位置にある値を出力できる
SkipWhileの使い方は理解できましたか?
この記事では、C#のSkipWhileの使い方について紹介しました。
最後になりますが、ここに関してもっと詳しく教えて欲しいときなどは、遠慮なく、お問い合わせ、コメント、Twitterにてご連絡ください。
最後までお読みいただきありがとうございました。