LINQってなに?
1. LINQとは?
簡単に説明すると、こいつが登場したおかげで、ソースコード内で簡単にクエリ操作やグルーピングができるようになった!
実際に使うときの記述方法は後述しますが、書き方はほぼforeachと同じ書き方で、foreachの強化版みたいなもの
2. LINQの種類
LINQには、クエリ構文とメソッド構文と2種類あり、クエリ構文はやりたいことをそのまま書くだけで簡単!メソッド構文はラムダ式を使って書く!と覚えちゃいましょう
※メソッド構文では、WhereやSelectのような便利なメソッドも使えるぞ!
3. LINQの書き方
var list = new List<int> { 1, 84, 95, 95, 40, 6 };
// クエリ構文
var query = from x in list
where x % 2 == 0
orderby x
select x * 3;
// メソッド構文(この記事ではこちらを記法を採用します)
var query = list
.Where(x => x % 2 == 0)
.OrderBy(x => x)
.Select(x => x * 3);
ConsoleWriteLine(query);
18
80
168
3.1. SelectとWhereの使い方
※ SelectとWhereはSQL構文の時と全く違う!
メソッド構文で使用されるSelectはFindAllメソッド、WhereはConvertAllメソッドとほぼ同義。上のソースコードを書き換えると以下のようになる
var list = new List<int> { 1, 84, 95, 95, 40, 6 };
// クエリ構文
var query = from x in list
where x % 2 == 0
orderby x
select x * 3;
// メソッド構文(この記事ではこちらを記法を採用します)
var query = list
.FindAll(x => x % 2 == 0)
.OrderBy(x => x)
.ToList() //OrderByで静的にIEnumerable型に変換されたためList型に変換する
.ConvertAll(x => x * 3);
ConsoleWriteLine(query);
18
80
168