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


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


C#を学んでいるけど…

SequenceEqualの使い方が分からない

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

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

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

SequenceEqualの使い方

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

SequenceEqual = 指定したリストが同じか比較

このような考え方で問題ありません。SequenceEqualを使用すると指定した配列(リスト)が、指定した別の配列(リスト)と同等かを返します

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

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

配列.SequenceEqual(配列)

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

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

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

namespace sample
{
    class LinqSequenceEqual
    {
        static public void BlogLinqSequenceEqual()
        {
            //値一覧を変数NumberListとして宣言・初期化
            int[] NumberList1 = new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
            int[] NumberList2 = new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
            int[] NumberList3 = new int[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};

            //Countの実行結果を出力
            Console.WriteLine($"NumberList1とNumberList2は同じ:{NumberList1.SequenceEqual(NumberList2)}");
            Console.WriteLine($"NumberList1とNumberList3は同じ:{NumberList1.SequenceEqual(NumberList3)}");
            Console.WriteLine($"NumberList2とNumberList3は同じ:{NumberList2.SequenceEqual(NumberList3)}");
        }
    }
}

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

NumberList1とNumberList2は同じ:True
NumberList1とNumberList3は同じ:False
NumberList2とNumberList3は同じ:False

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

配列.SequenceEqual(配列)

これを基にサンプルコードを解説すると、「配列 = NumberList1(NumberList2、NumberList3)」となります。

つまり、配列(NumberList1(NumberList2、NumberList3)と別の配列(NumberList1(NumberList2、NumberList3)が同じかのbool値を出力(Console.WriteLine)するということです。

このようにして、C#ではSequenceEqualを使用することで、配列(リスト)に任意の型の値を返すというコードを簡潔に書くことが出来ます。

【まとめ】SequenceEqualは全要素の値が等しいかをチェックできる

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

まとめ

  • SequenceEqual = 指定したリストが同じか比較
  • 配列.SequenceEqual(配列)

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

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

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

Tech Academy

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

\ 公式サイトはこちら /

Tech Academy 公式サイト