LINQ概要
Skip to next slide
You can skip to the next slide in
3
Ad
Skip to next slide
You can skip to the next slide in
3
Ad
Skip to next slide
You can skip to the next slide in
3
Ad
Skip to next slide
You can skip to the next slide in
3
Ad
Skip to next slide
You can skip to the next slide in
3
Ad
Skip to next slide
You can skip to the next slide in
3
Ad
Skip to next slide
You can skip to the next slide in
3
Ad
Skip to next slide
You can skip to the next slide in
3
Ad
Skip to next slide
You can skip to the next slide in
3
Ad
Skip to next slide
You can skip to the next slide in
3
Ad
Skip to next slide
You can skip to the next slide in
3
Ad
×
Your browser does not support the video tag.
Skip to next slide
Ad
×
青柳 臣一 @ShinichiAoyagi LINQ 概要 第2回 LINQ 勉強会 VSハッカソン倶楽部勉強会 大阪 LINQ分科会 2013年8月24日(土)
• 青柳 臣一(あおやぎ しんいち) @ShinichiAoyagi http://shinichiaoyagi.blogspot.jp/ • 職業 C# やら VB やら WPF やらでソフトウエア開発 最近はスマホとか あと PHP + M...
• Language-Integrated Query • クエリー機能を言語に統合 • クエリーは SQL とかのクエリー 「問い合わせ」 • Visual Studio 2008(.NET Framework 3.0)で搭載 LINQ (1)
• コレクションの検索 – 配列や List<T> など LINQ to Objects • データベースの検索 – DataContext LINQ to SQL LINQ (2)
• C# や VB で SQL みたいな書き方ができ る クエリー式 (1) var array = new[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; var q = from x in array where ...
• let、join、group、orderby など一通り のことはできる – 標準クエリ演算子の概要 http://msdn.microsoft.com/ja-jp/library/vstudio/bb397896.aspx – VB には...
• VB の Skip、Take • VB の Aggregate クエリー式 (3) Dim q = From x In array Skip 3 Take 2 Select x Dim total = Aggregate x In arra...
• すべてクエリー式を使わない形に変換可 能 クエリー式はシンタックスシュガー var q = array .Where(x => x % 2 == 0) .Select(x => x); Dim q = array. Where(Functi...
• VS 2008 のときの追加機能は LINQ のた め • 暗黙的な型指定(var、Dim) • 拡張メソッド • ラムダ式 • 匿名クラス • オブジェクト初期化子、コレクション初 期化子 LINQ のための言語サポート (1)
LINQ のための言語サポート(2) var people = new[] { new Person() { Name = "太郎", Age = 14, }, new Person() { Name = "花子", Age = 17, }, ...
LINQ のための言語サポート(3) Dim people() = { New Person() With {.Name = "太郎", .Age = 15}, New Person() With {.Name = "花子", .Age = 1...
• IEnumerable – 配列やコレクションは IEnumerable を実装し ている • だから – System.Linq.Enumerable LINQ to Objects (1) public static IEnumerab...
• System.Linq.Enumerable.Where LINQ to Objects (2) public static IEnumerable<TSource> Where<TSource>( this IEnumerable<TSo...
• 最終的には for や foreach と同等 LINQ to Objects (3)
• 見た目は LINQ to Objects とほぼ同じ LINQ to SQL (1) var db = new NorthwindDataContext(); var q = from c in db.Customers where c.C...
• テーブルとかは IQueryable • だから – System.Linq.Queryable LINQ to SQL (2) public static IQueryable<TSource> Where<TSource>( this ...
• Expression って? – 型(int や string と同じく一級市民の型) – System.Linq.Expressions.Expression<TDeledate> クラスの こと • 実行コードをデータとして表現したもの...
• コンパイル時にすること – ラムダ式を Expression 型に変換するコード を作り出す • 実行時(列挙したとき)にすること – Expression 型を元に SQL 文を作ったりして 実行 LINQ to SQL (4)
• 非同期やイベントドリブンなものを LINQ っぽく扱えるようにするもの – GPS の位置情報がやってくるのを処理すると か – Leap Motion からやってくるデータを処理す るとか Reactive Extensions (Rx)
Share Slideshare
LinkedIn
Facebook
Twitter
Embed
Size (px)
Show related Slideshows at end
WordPress Shortcode
Link
Share
Email
Windows ストアーアプリで SQLite を使ってみよう
Windows ストアーアプリで SQLite を使ってみよう
by ShinichiAoyagi
23052 views
"なめらか"なメトロスタイルアプリを作るために ~WinRT の非同期...
"なめらか"なメトロスタイルアプリを作るために ~WinRT の非同期...
by ShinichiAoyagi
19714 views
LINQ の概要とかもろもろ
LINQ の概要とかもろもろ
by ShinichiAoyagi
18811 views
XAML 入門
XAML 入門
by ShinichiAoyagi
18327 views
WindowsストアーアプリでSharpDXを動かしてみる
WindowsストアーアプリでSharpDXを動かしてみる
by ShinichiAoyagi
21080 views
トランザクションの設計と進化
トランザクションの設計と進化
by Kumazaki Hiroki
74184 views
View on Slideshare
1
of
19
Ad
View on Slideshare
1
of
19
Ad
AltStyle
によって変換されたページ
(->オリジナル)
/
アドレス:
モード:
デフォルト
音声ブラウザ
ルビ付き
配色反転
文字拡大
モバイル