【LINQのメソッド紹介その1】foreachメソッドの概要とコード例
公開日時:

C#では、よく使うメソッドをライブラリ化したLINQというものがあります。LINQを使うことで、より簡素な記述でコードを書くことができるため、結果としてメンテナンス性の向上にも役立つでしょう。まず初めに繰り返しを行うforeachメソッドの使い方を見ていきます。
- PG
- LINQメソッドを使うとコードの書き方が簡単になるって言いますが、どのくらい違うんですか?
- PL
- そうですね。まず初めにforeachから実際のコードを見比べて見ていきましょうか。
LINQのメソッド「foreach」はどのようにして使うか
C#にはLINQを使わずとも基本構文として繰り返しのコードであるforeachが定義されています。これと同じメソッドがライブラリメソッド群のLINQで定義されており、多少簡素な記述で使用することが可能です。LINQライブラリを利用するには、System.Linqをusing宣言して各メソッドを記述していきます。LINQの形式では、foreachのカッコ内をラムダ式で記述していき、さらに内部に条件分岐の処理を入れ子にすることも可能です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
using System; using System.Linq; using System.Collections.Generic; namespace LinqTest { // foreachの出力比較 class foreachCompTest { static void Main(string[] args) { List<string> list = new List<string>(){ "りんご", "かぼちゃ" ,"バナナ"}; // 通常のforeachでの出力表示 foreach (string name in list) { Console.WriteLine(name); } // LINQのforeachでの出力表示 list.ForEach(name => Console.WriteLine(name)); } } } |
実行結果
1 2 3 4 5 6 |
りんご かぼちゃ バナナ りんご かぼちゃ バナナ |
このコードでは、リスト内の要素を通常のforeachとLINQのforeachで出力しています。通常の書き方では、カッコ付きで4行に渡って記述されていますが、LINQの場合は1行のみとシンプルです。
- PG
- foreachに関しては、普通にコードを書くより若干短くなりますね。
- PL
- 少し書き方も変わりますが、行数が短い分メンテナンスもしやすくなりますよ。foreachだけでなく、ほかのLINQメソッドとも併用していくと、利用頻度や書き方も大きく変わってきますから、覚えておくのがおすすめです。
LINQのforeachを使いこなそう
foreachは繰り返し処理において頻繁に使われるコードですが、LINQを利用することでシンプルな形に変えることができ、カッコが減ることで見やすさも変わってくるでしょう。ラムダ式とともに使いこなせれば、様々な条件分岐との併用することも可能になります。
LINQでは、このようなよりシンプルな表記でコードが書けるように、様々なライブラリが用意されているので、foreachのほかにも頻繁に使うメソッドの使い方を覚えておくと便利です。