前書き
LINQはtegrated Q ueryでIN Lの anguageの略頭字語です。これは、さまざまな種類のデータソースおよび形式にわたるデータを操作するための一貫したモデルを提供することによって、クエリ言語を統合する概念です。同じ基本コーディングパターンを使用して、XMLドキュメント、SQLデータベース、ADO.NETデータセット、.NETコレクション、およびLINQプロバイダが利用可能なその他の形式のデータをクエリおよび変換します。
構文
クエリ構文:
- <コレクション>の<範囲変数>から
- [from <range variable> in <collection>、...]
- <フィルタリング、結合、グループ化、集約演算子、...> <ラムダ式>
- <selectまたはgroupBy演算子> <結果を定式化する>
メソッドの構文:
- Enumerable.Aggregate(func)
- Enumerable.Aggregate(seed、func)
- Enumerable.Aggregate(seed、func、resultSelector)
- Enumerable.All(述語)
- Enumerable.Any()
- Enumerable.Any(述語)
- Enumerable.AsEnumerable()
- Enumerable.Average()
- Enumerable.Average(セレクタ)
- Enumerable.Cast <Result>()
- Enumerable.Concat(second)
- Enumerable.Contains(value)
- Enumerable.Contains(value、comparer)
- Enumerable.Count()
- Enumerable.Count(述語)
- Enumerable.DefaultIfEmpty()
- Enumerable.DefaultIfEmpty(defaultValue)
- Enumerable.Distinct()
- Enumerable.Distinct(comparer)
- Enumerable.ElementAt(index)
- Enumerable.ElementAtOrDefault(index)
- Enumerable.Empty()
- Enumerable.Except(秒)
- Enumerable.Except(second、comparer)
- Enumerable.First()
- Enumerable.First(述語)
- Enumerable.FirstOrDefault()
- Enumerable.FirstOrDefault(述語)
- Enumerable.GroupBy(keySelector)
- Enumerable.GroupBy(keySelector、resultSelector)
- Enumerable.GroupBy(keySelector、elementSelector)
- Enumerable.GroupBy(keySelector、comparer)
- Enumerable.GroupBy(keySelector、resultSelector、comparer)
- Enumerable.GroupBy(keySelector、elementSelector、resultSelector)
- Enumerable.GroupBy(keySelector、elementSelector、comparer)
- Enumerable.GroupBy(keySelector、elementSelector、resultSelector、comparer)
- Enumerable.Intersect(秒)
- Enumerable.Intersect(second、comparer)
- Enumerable.Join(inner、outerKeySelector、innerKeySelector、resultSelector)
- Enumerable.Join(inner、outerKeySelector、innerKeySelector、resultSelector、comparer)
- Enumerable.Last()
- Enumerable.Last(述語)
- Enumerable.LastOrDefault()
- Enumerable.LastOrDefault(述語)
- Enumerable.LongCount()
- Enumerable.LongCount(述語)
- Enumerable.Max()
- Enumerable.Max(セレクタ)
- Enumerable.Min()
- Enumerable.Min(セレクタ)
- Enumerable.OfType <TResult>()
- Enumerable.OrderBy(keySelector)
- Enumerable.OrderBy(keySelector、comparer)
- Enumerable.OrderByDescending(keySelector)
- Enumerable.OrderByDescending(keySelector、comparer)
- Enumerable.Range(開始、カウント)
- Enumerable.Repeat(要素、カウント)
- Enumerable.Reverse()
- Enumerable.Select(セレクタ)
- Enumerable.SelectMany(セレクタ)
- Enumerable.SelectMany(collectionSelector、resultSelector)
- Enumerable.SequenceEqual(second)
- Enumerable.SequenceEqual(second、comparer)
- Enumerable.Single()
- Enumerable.Single(述語)
- Enumerable.SingleOrDefault()
- Enumerable.SingleOrDefault(述語)
- Enumerable.Skip(count)
- Enumerable.SkipWhile(述語)
- Enumerable.Sum()
- Enumerable.Sum(セレクタ)
- Enumerable.Take(count)
- Enumerable.TakeWhile(述語)
- orderedEnumerable.ThenBy(keySelector)
- orderedEnumerable.ThenBy(keySelector、comparer)
- orderedEnumerable.ThenByDescending(keySelector)
- orderedEnumerable.ThenByDescending(keySelector、comparer)
- Enumerable.ToArray()
- Enumerable.ToDictionary(keySelector)
- Enumerable.ToDictionary(keySelector、elementSelector)
- Enumerable.ToDictionary(keySelector、comparer)
- Enumerable.ToDictionary(keySelector、elementSelector、comparer)
- Enumerable.ToList()
- Enumerable.ToLookup(keySelector)
- Enumerable.ToLookup(keySelector、elementSelector)
- Enumerable.ToLookup(keySelector、comparer)
- Enumerable.ToLookup(keySelector、elementSelector、comparer)
- Enumerable.Union(秒)
- Enumerable.Union(second、comparer)
- Enumerable.Where(述語)
- Enumerable.Zip(second、resultSelector)
備考
LINQクエリを使用するには、 System.Linq
をインポートする必要があります。
Method Syntaxはより強力で柔軟性がありますが、Query Syntaxはよりシンプルで使い慣れたものになります。 Query構文で記述されたすべてのクエリは、コンパイラによって機能構文に変換されるため、パフォーマンスは同じです。
照会オブジェクトは、使用されるまで評価されないため、パフォーマンスの低下なしに変更または追加することができます。
LINQクエリ 関連する例