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


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


C#を学んでいるけど…

Countの使い方が分からない

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

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

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

Tech Academy

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

\ 公式サイトはこちら /

Tech Academy 公式サイト

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

C#とは?

C#は、2002年に開発されたプログラミング言語です。

特徴

  • オブジェクト指向言語
  • Visual Studioとの互換性が高い
  • GUIアプリ開発がしやすい
  • Windowsとの相性が良い

C#で作られたサービスには、以下のものが挙げられます。

有名なサービス

  • Microsoftの公式サイト
  • Skypeの公式サイト

LINQとは?

LINQとは何かを説明する前に、公式ページでは以下のように説明されています。

LINQとは(公式解説)

統合言語クエリ (LINQ) は、C# 言語への直接的なクエリ機能の統合に基づくテクノロジのセットの名前です。 これまでは、データに対するクエリは、コンパイル時の型チェックや IntelliSense のサポートがない単純な文字列として表現されてきました。 さらに、SQL データベース、XML ドキュメント、さまざまな Web サービスなど、各種データ ソースの異なるクエリ言語を学習する必要があります。 LINQ では、クエリは、クラス、メソッド、イベントと同様に、ファースト クラスの言語コンストラクトです。

クエリを記述する開発者にとって、最も目立つ LINQ の "統合言語" 部分は、クエリ式です。 クエリ式は、宣言型の "クエリ構文" で記述されます。 クエリ構文を使用することで、フィルター処理、並べ替え、グループ化などのデータ ソースに対する操作を、最小限のコードで実行できます。 同一の基本的なクエリ式のパターンを使用して、SQL データベース、ADO .NET データセット、XML ドキュメントとストリーム、および .NET コレクション内のデータを照会して変換できます。

難しい…と思った方は、当然です。C#を業務で使っている私も意味わかりません。

分かりやすく説明すると、

LINQ要点解説

  • LINQとはコレクション(配列やList、Dictionaryなど)の要素を処理するメソッドを集めたライブラリです。
  • LINQを使うことで、for文やforeach文のようなループ処理を簡潔に書き換えることが出来ます。
  • LINQを使うためには、usingディレクティブを使ってSystem.Linqを参照する必要があります。

これでもまだ堅苦しいので、一言で表すと、

複数行になる繰り返し処理を1行(または簡潔)にまとめられるもの

となります。つまり、LINQを扱えるようになると、コードがより簡潔になります。これにより、コードの修正が容易(保守性が高く)になります。

Countの使い方

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

Count = 条件を満たす値の数をチェック

このような考え方で問題ありません。Countを使用すると配列(リスト)などに、条件を満たす値の数を返します

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

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

配列.Count(条件式)

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

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

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

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

            //Countの実行結果を出力
            Console.WriteLine($"リストに3以上8未満の値が含まれている数:{NumberList.Count(n => n >= 3 && n <= 8)}");
        }
    }
}

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

リストに3以上8未満の値が含まれている数:6

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

配列.Count(条件式)

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

つまり、配列(NumberList)条件式(n >= 3) かつ (n <= 8))を満たす値がいくつ含まれているかをチェックした結果を出力(Console.WriteLine)するということです。

このようにして、C#ではCountを使用することで、配列(リスト)に任意の条件式を満たす値が含まれている数を返すというコードを簡潔に書くことが出来ます。

【まとめ】Countは条件を満たしている値を出力できる

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

まとめ

  • Count = 条件を満たす値の数をチェック
  • 配列.Count(条件式)

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

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

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

Tech Academy

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

\ 公式サイトはこちら /

Tech Academy 公式サイト