C#で型をIEnumerableにキャストする方法:AsEnumerable()メソッドの使い方
C#では、AsEnumerable()メソッドを使用することで、型をそのIEnumerable相当の型へとキャストできます。AsEnumerable()は拡張メソッドであり、System.Linq名前空間に含まれています。
このメソッドは、配列やListなどのコレクションをIEnumerable<T>として扱いたい場合に便利です。LINQの標準クエリ演算子を適用したいときや、コレクションを汎用的なインターフェース経由で操作したい場合に活用されます。
サンプル配列の準備
まず、例として整数型(int)の配列を作成し、値を設定します。
int[] myArr = new int[10]; myArr[0] = 1; myArr[1] = 2; myArr[2] = 3; myArr[3] = 4; myArr[4] = 5;
AsEnumerable()メソッドによるキャスト
作成した配列に対してAsEnumerable()メソッドを呼び出すだけで、IEnumerable<int>型へと変換できます。記述方法は非常にシンプルです。
myArr.AsEnumerable();
完全なコード例
以下は、配列をAsEnumerable()でIEnumerableに変換し、foreachループですべての要素を表示する完全なサンプルコードです。
using System;
using System.Linq;
class Demo {
static void Main() {
int[] myArr = new int[10];
myArr[0] = 1;
myArr[1] = 2;
myArr[2] = 3;
myArr[3] = 4;
myArr[4] = 5;
myArr[5] = 6;
myArr[6] = 7;
myArr[7] = 8;
myArr[8] = 9;
myArr[9] = 10;
// AsEnumerable()でIEnumerableに変換
var a = myArr.AsEnumerable();
// 要素を表示
foreach (var item in a) {
Console.WriteLine(item);
}
}
}実行結果
プログラムを実行すると、配列内のすべての要素が順番に出力されます。
1 2 3 4 5 6 7 8 9 10
ポイントまとめ
- AsEnumerable()は
System.Linq名前空間に属する拡張メソッドである - 使用するには「
using System.Linq;」の宣言が必要 - 戻り値は
IEnumerable<T>型となり、foreachなどでの反復処理が可能 - 元のコレクション自体は変更されず、IEnumerableとしてのビューを取得できる
-
C/C++の型キャストとは?基礎から整数昇格・通常の算術型変換まで解説
型キャスト(型変換)とは、あるデータ型の変数を別のデータ型へ変換する手法のことです。例えば、long型の値を単純なint型の変数に格納したい場合、longをintへキャストすることができます。値をある型から別の型へ明示的に変換するには、キャスト演算子を次の形式で使用します。(型名) 式キャスト演算子の使用例次の例では、キャスト演算子によって整数変数同士の除算が浮動小数点演算として実行されます。#include <stdio.h> main() { int sum = 17, count = 5; double mean; mean = (double) su
-
Windows 10/8/7でファイルの種類をプログラムに関連付けできないときの対処法
Windows 10/8/7で、ファイルの拡張子を特定のアプリケーションに関連付けられないという問題に直面している場合は、この記事で紹介する方法が解決の手助けになるかもしれません。 ファイルの種類をプログラムに関連付けできない場合の対処法 まず、レジストリエディター(regedit)を起動し、以下のキーへ移動します。 Computer\HKEY_CLASSES_ROOT\Applications ここで、問題の原因となっている.exeファイルの名前を探します。 そのキーを展開し、以下の順に移動してください。 Shell > Open > Command [Command]キーをダ