目次
- はじめに
Part 1 LINQマジック
Chapter 1 "Hello, LINQ!"
- 1.1 Windows フォームにベジエ曲線を描く
- 1.2 LINQ はforループを簡潔に書ける
- 1.3 「"Hello, LINQ!"」 のコード
Chapter 2 数値の集計
- 2.1 準備
- 2.2 すべてを合計する
- 2.3 条件を満たす数値だけを取り出す
- 2.4 条件を満たす数値だけを合計する
- 2.5 メモリ消費を確かめる
- 2.6 null を含むデータを処理する
- 2.7 「数値の集計」のコード
Chapter 3 文字列の処理
- 3.1 準備
- 3.2 文字数をカウントする
- 3.3 CSVファイルから必要なデータだけを取り出す
- 3.4 文字列コレクションを検索する
- 3.5 文字列を反転する
- 3.6 文字列コレクションで複雑な検索をする
- 3.7 「文字列の処理」のコード
Chapter 4 複数のUIコントロールの操作
- 4.1 準備
- 4.2 UIコントロールを操作する
- 4.3 「複数のUIコントロールの操作」のコード
Chapter 5 CSVファイルの処理
- 5.1 準備
- 5.2 ファイルを1行ずつ読み込む
- 5.3 ファイルの1行からSampleオブジェクトを作る
- 5.4 データの種類を判定する
- 5.5 数値を合計する
- 5.6 Mainメソッドにまとめる
- 5.7 LINQマジックの「秘密」
- 5.8 残りの数値も合計する
- 5.9 「CSVファイルの処理」のコード
Chapter 6 LINQマジック ――3つの「秘密」
- 6.1 LINQはループを分解/再構築させる
- 6.2 LINQはメモリを節約する
- 6.3 LINQは必要に応じて(遅延)実行される
Chapter 7 ToListメソッドの罠
- 7.1 ToListメソッドのデメリット
- 7.2 ToListメソッドのメリット
- 7.3 「ToListメソッドの罠」のコード
Chapter 8 LINQの仕組み
- 8.1 IEnumerable
インターフェイス - 8.2 IQueryable
インターフェイス
Chapter 9 別の書き方 ――クエリ式
Chapter 10 LINQ拡張メソッドの作り方
- 10.1 独自のLINQ拡張メソッドとは?
- 10.2 LINQを使うLINQ拡張メソッド
- 10.3 foreachを使うLINQ拡張メソッド
- 10.4 ラムダ式を受け取るLINQ拡張メソッド
- 10.5 「LINQ拡張メソッドの作り方」のコード
Chapter 11 LINQデータソースの作り方
- 11.1 遅延実行しないLINQデータソースの作り方
- 11.2 遅延実行するLINQデータソースの作り方
- 11.3 「LINQデータソースの作り方」のコード
Chapter 12 LINQプロバイダーの作り方
- 12.1 LINQプロバイダーの構成
- 12.2 LINQプロバイダーの標準的な部分実装
- 12.3 LINQプロバイダーを実験的に実装してみる
- 12.4 実験的に作ったLINQプロバイダーを試す
- 12.5 LINQプロバイダーのメリット
- 12.6 「LINQプロバイダーの作り方」のコード
Chapter 13 LINQマジックの正体 ――まとめ
Part 2 LINQを使いこなすための機能
Chapter 1 拡張メソッド
Chapter 2 ラムダ式
Chapter 3 Visual Studio .NET 2003での新機能
- 3.1 foreach構文
- 3.2 デリゲート
- 3.3 IEnumerableインターフェイス
Chapter 4 Visual Studio 2005での新機能
- 4.1 ジェネリック
- 4.2 yieldキーワード(反復子,イテレーター)
- 4.3 匿名メソッド(匿名デリゲート)
- 4.4 静的クラス
- 4.5 パーシャル型
- 4.6 Nullable
型(null許容型)
Chapter 5 Visual Studio 2008での新機能
- 5.1 varキーワード
- 5.2 拡張メソッド
- 5.3 匿名型
- 5.4 ラムダ式
- 5.5 オブジェクト初期化子
- 5.6 コレクション初期化子
- 5.7 配列宣言の型省略(暗黙的に型指定される配列)
- 5.8 自動実装プロパティ
- 5.9 パーシャルメソッド
- 5.10 クエリ式
Chapter 6 Visual Studio 2010での新機能
- 6.1 省略可能な引数(オプション引数)
- 6.2 名前付き引数
- 6.3 共変性と反変性
- 6.4 PLINQ
Chapter 7 Visual Studio 2012での新機能
- 7.1 呼び出し元情報(Caller Info)属性
- 7.2 async/awaitキーワード
Chapter 8 Visual Studio 2015での新機能
- 8.1 自動実装プロパティの初期化子
- 8.2 読み取り専用プロパティの自動実装
- 8.3 ラムダ式によるメンバー定義
- 8.4 補間文字列(String Interpolation)
- 8.5 nameof演算子
- 8.6 Null条件演算子
- 8.7 using staticディレクティブ
Part 3 LINQを活用しよう
Chapter 1 LINQ to Objects
Chapter 2 LINQ to ADO.NET
- 2.1 LINQ to DataSet
- 2.2 LINQ to SQL
- 2.3 LINQ to Entities
Chapter 3 LINQ to XML(XLinq)
Chapter 4 Parallel LINQ(PLINQ)
Chapter 5 Reactive Extensions(Rx)
Chapter 6 LINQ to CSV
Chapter 7 Html Agility Pack
Chapter 8 Webサービスを利用するためのLINQ
- 8.1 LINQ to JSON
- 8.2 LINQ-to-Wiki
Chapter 9 他のプラットフォームのLINQ
- 9.1 linq.js
Appendix Visual Studio Community 2015のインストールと使い方
Chapter 1 Visual Studio 2015の特徴と種類
Chapter 2 インストール
Chapter 3 初めての起動
Chapter 4 コンソールプログラムを作る
- 4.1 プロジェクトを作る
- 4.2 プログラムを書く
- 4.3 ビルド,デバッグ実行
- 4.4 完成したプログラムを配布する
Chapter 5 Windowsフォームプログラムを作る
- 5.1 プロジェクトを作る
- 5.2 UIを作る
- 5.3 プログラムを書く
Chapter 6 WPFプログラムを作る
- 6.1 プロジェクトを作る
- 6.2 UIを作る
- 6.3 プログラムを書く
- おわりに