C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のAsQueryable()メソッドとは?使い方とサンプルコードを解説

C#のAsQueryable()メソッドは、シーケンス(配列やリストなど)をIQueryable型の参照に変換するために使用されます。このメソッドを使うことで、LINQのQueryableクラスが提供するクエリ演算子を、通常のコレクションに対しても適用できるようになります。

AsQueryable()の基本的な役割

AsQueryable()は、IEnumerableベースのコレクションをIQueryableに変換します。これにより、式ツリー(Expression Tree)としてクエリが扱われ、特にEntity FrameworkなどのORMと組み合わせた際に、クエリの遅延実行や最適化が可能になります。

使用例:整数値の合計を求める

ここでは、AsQueryable()を使って整数配列の合計値を求める例を見ていきましょう。

まず、整数型の配列を用意します。

var arr = new int[] { 100, 200, 300, 400 };

次に、合計を求めるために、Queryable.Sum()メソッドとAsQueryable()メソッドを組み合わせて使用します。

int res = Queryable.Sum(arr.AsQueryable());

AsQueryable()によって配列がIQueryableに変換され、その結果に対してSum()メソッドが適用される仕組みです。

完全なサンプルコード

以下は、上記の処理を実装した完全なコード例です。

using System;
using System.Linq;

class Demo {
    static void Main() {
        // 整数配列を定義
        var arr = new int[] { 100, 200, 300, 400 };

        // AsQueryable()でIQueryableに変換し、Sum()で合計を計算
        int res = Queryable.Sum(arr.AsQueryable());

        Console.WriteLine("Sum: " + res);
    }
}

実行結果

Sum: 1000

まとめ

AsQueryable()メソッドは、配列やリストなどのコレクションをIQueryable型に変換するための便利なメソッドです。上記の例のように、Queryable.Sum()などのQueryableクラスの演算子を使用したい場合に活用できます。データベース操作を行うLINQ to SQLやEntity Frameworkとの連携においても重要な役割を果たすため、ぜひ覚えておきましょう。

  1. C#のLINQ Sum()メソッドでリストの合計値を求める方法

    C#のLINQには、コレクション内の要素の合計を簡単に計算できるSum()メソッドが用意されています。このメソッドを使うことで、ループ処理を書かずに1行で数値の合計を求められます。ここでは、整数型の要素を持つListを例に、Sum()メソッドの使い方を解説します。サンプルデータ(整数のリスト)まず、整数要素を含むリストを用意します。List<int> list = new List<int> { 99, 34, 77, 75, 87, 35, 88};Sum()メソッドで合計を求める次に、AsQueryable()でシーケンスをIQueryable型に変換し、Sum()

  2. C#でメソッドに配列を渡す方法をわかりやすく解説

    C#では、メソッドに配列を渡したい場合、引数として配列を指定するだけで実現できます。配列は参照型であるため、メソッド内で受け取った配列の要素にアクセスしたり、値を操作したりすることが可能です。配列を受け取るメソッドの定義方法メソッドが配列を受け取るには、パラメータの型を「要素の型[]」のように宣言します。以下は、int型の配列とそのサイズを受け取るメソッドの例です。int displaySum(int[] arr, int size) { }このメソッドを呼び出す際は、次のように配列変数を引数として渡します。sum = d.displaySum(myArr, 5);サンプルコードここでは、配列