C#プログラマーのための 基礎からわかるLINQマジック!
- 山本康彦 著
- 定価
- 3,168円(本体2,880円+税10%)
- 発売日
- 2016.5.12
- 判型
- A5
- 頁数
- 352ページ
- ISBN
- 978-4-7741-8094-6 978-4-7741-8176-9
概要
現在では“技術に保守的な現場”においてさえ顧客事情が変わっています。.NETの環境でも核心的な技術=LINQがようやく使えるようになりました。LINQは、実際に使ってみると“LINQマジック”とでも呼べる威力を発揮します。その対象も、配列、コレクションなど(LINQ to Objects)、XML(LINQ to XML)、データベース(LINQ to ADO.NET)といったように広範囲に及びます。LINQそのものの“わかりにくさ”から使わなかった開発者も少なくなかったようですが、本書がプログラマーのLINQアレルギーを取り除きます。
こんな方にオススメ
- C#や.NETは扱えるが、現場の事情によりLINQについては未経験か、熟知していないプログラマー
目次
- はじめに
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 プログラムを書く
- おわりに
プロフィール
山本康彦
1957年、名古屋に生まれる。名古屋大学工学部卒(修士)。本田技術研究所で自動車の設計/研究にしばらく携わった後、ソフトウェア開発業界に転身。主にWindows系の業務システムを手がけてきた。.NET FrameworkとC#とは、まだβ版だった2001年からの付き合い。LINQとは、Visual Studio 2005用として2006年春にリリースされたCTP版からの付き合いになる。
2012年に独立し、現在はWindowsストアアプリ/UWPアプリをメインに開発している。
2014年10月から、マイクロソフトMVP(Windows Developmentカテゴリー)。