C#の『OfType』の使い方が分からない…教えてください!
C#を学んでいるけど…
「OfTypeの使い方が分からない」
このような疑問を持っていませんか?
この記事では、LINQのひとつである『OfType』について現役エンジニアが分かりやすく解説します。
まだ、C#の開発環境構築が出来ていない方はこちらを参考にしてください。
OfTypeの使い方
OfTypeの使い方を解説する前に、OfTypeで何が出来るのかを把握しておきましょう。
OfType = 指定した型の値を抽出
このような考え方で問題ありません。OfTypeを使用すると配列(リスト)などから、指定した型の値を返します。
似たようなLinqにCastがあります。
それでは、実際のコードを用いながらOfTypeの使い方を解説していきます。
まずは、OfTypeの使い方から説明します。OfTypeを使うときには以下のように記述します。
配列.OfType<型名>()
実際のコードを用いながらOfTypeの使い方を解説していきます。
OfTypeを使ってシーケンスを出力するときには以下のように記述します。
using System;
using System.Collections.Generic;
using System.Linq;
namespace sample
{
class LinqOfType
{
static public void BlogLinqOfType()
{
//Listのインスタンスを生成
System.Collections.ArrayList List = new System.Collections.ArrayList(5);
List.Add(1);
List.Add("AAA");
List.Add(10);
List.Add("ZZZ");
List.Add(100);
IEnumerable<string> ListOfType = List.OfType<string>();
//OfTypeの実行結果を出力
foreach (string str in ListOfType)
{
Console.WriteLine(str);
}
}
}
}
サンプルコードを実行した際の出力結果は、以下のようになります。
AAA
ZZZ
注目していただきたいのは、OfTypeを使っている19行目です。
配列.OfType<型名>()
これを基にサンプルコードを解説すると、「配列 = List」、「型名 = String)」となります。
つまり、配列(List)に型名(String)を満たす値を出力(Console.WriteLine)するということです。
このようにして、C#ではOfTypeを使用することで、配列(リスト)に任意の型の値を返すというコードを簡潔に書くことが出来ます。
【まとめ】OfTypeは指定した型の値を抽出できる
OfTypeの使い方は理解できましたか?
この記事では、C#のOfTypeの使い方について紹介しました。
最後になりますが、ここに関してもっと詳しく教えて欲しいときなどは、遠慮なく、お問い合わせ、コメント、Twitterにてご連絡ください。
最後までお読みいただきありがとうございました。