こんにちは。たいら(@tairaengineer2)です。
この記事では、C#でLINQのForEachについて解説します。
スポンサーリンク
前提条件
この記事では、Visual Studio 2017 Communityを使っています。
インストールの仕方は、下の記事をご参考ください。
ForEachとは
foreachとは、配列やリストに対して、繰り返し処理ができるものです。
foreach、in (C# リファレンス)
foreach ステートメントは、System.Collections.IEnumerable または System.Collections.Generic.IEnumerableインターフェイスを実装している型のインスタンス内の要素ごとに、ステートメントまたはステートメントのブロックを実行します。
foreach ステートメントはこのような型にのみ限定されるものではありません。
次の条件を満たす任意の型のインスタンスに適用できます。
- 戻り値の型がクラス、構造体、インターフェイス型のいずれかである、パラメーターなしのパブリック メソッド GetEnumerator を持っている。
- GetEnumerator メソッドの戻り値の型が、パブリック プロパティ Current と、戻り値の型が Boolean であるパラメーターなしのパブリック メソッド MoveNext を持っている。
C# foreach ステートメント | Microsoft Docsから引用させて頂きました
LINQのforeachは以下のように書きます。
では、実際に使って解説します。
解説で使うC#プログラムの概要
stringのListを作成します。
そのListに対して、以下の方法で要素をコンソールに表示します。
- LINQでないforeachで出力
- LINQのforeachで出力
コンソールプロジェクトを作成するやり方は下の記事をご参考ください。
プログラムを作成したあと、ビルドをするやり方はこちらの記事をご参考ください。
C#サンプルコード
using System;
using System.Collections.Generic;
namespace ConsoleApp1
{
/// <summary>
/// LINQのforeachのサンプルプログラム
/// </summary>
class Program
{
/// <summary>
/// メイン
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
List<string> list = new List<string>(){ "田中", "佐藤" ,"鈴木", "北村"};
// LINQでないforeachで出力
Console.WriteLine("LINQでないforeachで出力");
foreach (string name in list)
{
Console.WriteLine("名前:" + name + "さん");
}
// LINQのforeachで出力
Console.WriteLine("LINQのforeachで出力");
list.ForEach(name => Console.WriteLine("名前: " + name + "さん"));
Console.WriteLine("名前リストの表示が完了しました。");
}
}
}
実行結果
LINQでないforeachで出力
名前:田中さん
名前:佐藤さん
名前:鈴木さん
名前:北村さん
LINQのforeachで出力
名前: 田中さん
名前: 佐藤さん
名前: 鈴木さん
名前: 北村さん
名前リストの表示が完了しました。
続行するには何かキーを押してください . . .
- LINQでないforeachで出力
- LINQのforeachで出力
どちらも同じ表示ですね!
では、解説します。
解説
LINQのforeachを中心に解説します。
foreachの中身を見てみましょう。
foreachで要素に対して、Consoleで1行ずつ表示していきます。
スポンサーリンク
まとめ:LINQのForEachを使ってみよう
以上がLINQのForEachの解説です。
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
ほかにもC#勉強記事を書いてます。
よければご参考ください。
【C#】【LINQ】Aggregateメソッドの使い方を解説します
今までブログで書いたC#の解説記事のまとめは、こちらをご参考ください。