【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のほかにも頻繁に使うメソッドの使い方を覚えておくと便利です。
Search キーワード検索
Popular 人気の記事
-
【VB.NET入門】DataGridViewの使い方まとめ
公開: 更新:
reccomended おすすめ記事
-
【.NETが統合】.NET 5の概要と今後のリリース予定
公開: 更新:
Categories 連載一覧
Tags タグ一覧
Jobs 新着案件
-
システム開発/東京都新宿区/【WEB面談可/C#経験者/20代前半の方活躍中/経験1年以上の方活躍中】/在宅勤務
月給29万~34万円東京都新宿区(新宿駅) -
システム開発/東京都新宿区/【WEB面談可/C#経験者/20代後半~40代の方活躍中/経験年数不問】/在宅勤務
月給41万~50万円東京都新宿区(新宿駅) -
デバック、テスト項目の作成/神奈川県横浜市/【WEB面談可/C#経験者/20代前半の方活躍中/経験1年以上の方活躍中】/在宅勤務
月給29万~34万円神奈川県横浜市(桜木町駅) -
デバック、テスト項目の作成/神奈川県横浜市/【WEB面談可/C#経験者/20代後半~40代の方活躍中/経験年数不問】/在宅勤務
月給41万~50万円神奈川県横浜市(桜木町駅) -
基幹システム開発導入/東京都新宿区/【WEB面談可/C#経験者/20代前半の方活躍中/経験1年以上の方活躍中】/在宅勤務
月給29万~34万円東京都新宿区(西新宿駅) -
基幹システム開発導入/東京都新宿区/【WEB面談可/C#経験者/20代後半~40代の方活躍中/経験年数不問】/在宅勤務
月給41万~50万円東京都新宿区(西新宿駅)