際際滷

際際滷Share a Scribd company logo
LINQ 恷兜の匯i

Webアプリケ`ションボ`ド
      リ`ダ
弌勸俐望┐匹辰箸佑辰箸佞
      ん
LINQとは
?   デ`タ┘ブジェクトの鹿栽からgな
    峰で〆駅勣なオブジェクト〇の〆駅勣な
    メンバ〇を〆駅勣とする會〇で函り竃せ
    るようにした薦なシンタックスシュガ`
     ? _k宀は渇竃訳周、渇竃するメンバ、渇竃會にのみ
       v伉をBえばよい
     ? 函り竃すデ`タの侏を喘吭したり、Rり卦し猟をい
       たりする駅勣はない

      var query = from x in デ`タの鹿栽
                 where 渇竃訳周
                 orderby 渇竃會のキ`朕
                 select 渇竃するメンバ ;
鵑箸覆襯禰`タ
?   塘双、LIST<T>LINQ to Object
    ?   鏡徭に協xしたオブジェクトやMみzみオブジェクト
        の鹿栽
?   XMLファイルLINQ to XML
    ?   XElementオブジェクトのツリ`
?   デ`タベ`スLINQ to SQL
    ?   DataContextU喇で函り竃すTableオブジェクト
        ? 輝兜鬉垢襪里SQL Serverのみ

?   Entity Data ModelLINQ to Entities
    ?   Entity Frameworkによって伏撹されるオブジェクト
        ? Entity Frameworkは.NET Framework 3.5の恷兜のリリ`ス
         には根まれない嚠協
START                                           Ver3.5
using System;
using System.Linq;
using System.Collections.Generic;
using System.IO;

namespace VSUGSAMPLE
{
  class Program
  {
     static void Main(string[] args)
     {
        DirectoryInfo di = new DirectoryInfo(@"C:UsersonoDesktopLINQVideo");
        List<FileInfo> files = new List<FileInfo>(di.GetFiles());

            var query = from f in files
                   where f.Length > 10 * 1024 * 1024 && f.Length < 15 * 1024 * 1024
                   select new { f.Name, f.Length };

            foreach (var file in query)
               Console.WriteLine("{0}:{1}", file.Name, file.Length);
        }
    }
}
デモ
1.   メソッドのg廾
2.   クエリ塀をラムダ塀を旋喘したメソッ
     ド柵び竃しにQ
3.   ラムダ塀をdelegateにQ
4.   停兆侏の電茅
5.   オブジェクト兜豚晒徨の電茅
6.   徭啜弔g廾されるプロパティの電茅
7.   圧a議に侏峺協されたロ`カル篳の電茅
8.   メソッドの電茅
9.   Ver2.0でコンパイル
END C Ver2.0
using System;                                                                             private static IEnumerable<TmpFile>
using System.Collections.Generic;                                                          select(IEnumerable<FileInfo> query)
using System.IO;                                                                      {
                                                                                           foreach (FileInfo f in query)
namespace VSUGSAMPLE                                                                       {
{                                                                                             TmpFile t = new TmpFile();
  class Program                                                                               t.Name = f.Name;
  {                                                                                           t.Length = f.Length;
     static void Main(string[] args)                                                          yield return t;
     {                                                                                     }
        DirectoryInfo di = new                                                        }
       DirectoryInfo(@"C:UsersonoDesktopLINQVideo");                          }
        List<FileInfo> files = new List<FileInfo>(di.GetFiles());
                                                                                  public class TmpFile
          IEnumerable<FileInfo> query2 = files.FindAll(delegate(FileInfo f)       {
             {                                                                       string name;
               return f.Length > 10 * 1024 * 1024 && f.Length < 15 * 1024            long length;
         * 1024;
             }                                                                        public string Name
          );                                                                          {
                                                                                        get { return name; }
         IEnumerable<TmpFile> query = select(query2);                                   set { name = value; }
                                                                                      }
         foreach (TmpFile file in query)                                              public long Length {
            Console.WriteLine("{0}:{1}", file.Name, file.Length);                       get { return length; }
     }                                                                                  set { length = value; }
                                                                                      }
                                                                                  }
                                                                              }
IEnumerableとIQueryable

?   IQueryableでは塀のツリ`を侘撹
    ? ラムダ塀の塀の何蛍をデ`タとして隠隔
    ? デ`タにアクセスするタイミングで塀のツリ`
     をu
     ? IEnumerableはプログラムそのもののg佩

            W决u
☆試喘箭
  LINQ to SQL恷K議に駅勣なSQL猟のみを伏撹
LINQ to XML

?   XMLを吭Rしないプログラムが辛嬬
?   XML侘塀のQも辛嬬
    XElement People = XElement.Parse(
      @"<People>
      <Person>
        <Name>オサダ トシヒロ</Name>
        <Gender>1</Gender>
        <Age>32</Age>
      </Person>
    </People>");

    var query = from p in People.Descendants("Person")
           where (int)p.Element("Gender") == 1 && (int)p.Element("Age") >= 20
           orderby (int)p.Element("Age")
           select p;
LINQ to SQL

?   デ`タベ`スとB亊するクラスはウィザ`ド
    で伏撹
?   伏撹されるT-SQLはパラメ`タを聞喘
?   弖紗厚仟茅は徭啜弔縫肇薀鵐競ショ
    ン晒
?   パ`シャルメソッドを聞喘してビジネスル`
    ルの弖紗が辛嬬
      LINQTESTDataContext dtc = new LINQTESTDataContext();

         var query = from p in dtc.People
                where p.Gender == 1 && p.Age >= 20
                orderby p.Age
                select p;
まとめ

?   LINQはそれがないとプログラムがけな
    いというような勣殆ではない
?   誼は否叟、しかも階薦
?   旋喘譴寄していくと深えられる
    ? デ`タ侘塀阿鬉垢IQuaryableプロバイダ
     が戻工されればよい


?   まず乾れてその聞い拱屬鮓个犬討曚靴
歌深秤
?   ビデオ
     ?   Decomposing LINQ
           ?   http://www.microsoft.com/uk/msdn/nuggets/nugget/227/Decomposing-LINQ.aspx
     ?   MSDN Nuggets
           ?   http://www.microsoft.com/uk/msdn/nuggets/
           ?   C# 3.08云 LINQ to SQL18云 LINQ to XML3云                 LINQ to Entities5云 吉
?   Blog
     ?   Mike Taulty's Blog : LINQ? Single Step this code...
           ?   http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2007/10/03/9842.aspx
     ?   LINQ: Building an Iqueryable Provider  Part I to VII
           ?   http://blogs.msdn.com/mattwar/archive/2007/07/30/linq-building-an-iqueryable-provider-part-
               i.aspx
?   Y創
     ?   C#3.0の古勣
           ?   http://www.microsoft.com/japan/msdn/net/bb308966.aspx
     ?   LINQ.NETy栽冱Zクエリ
           ?   http://www.microsoft.com/japan/msdn/net/bb308959.aspx
     ?   .NET淵エリ處麻徨
           ?   http://www.microsoft.com/japan/msdn/net/bb394939.aspx
     ?   LINQ to SQL坤螢讒`ショナルデ`タのための.NETy栽冱Zクエリ
           ?   http://www.microsoft.com/japan/msdn/net/bb425822.aspx
     ?   XMLデ`タ喘の.NETy栽冱Zクエリ
           ?   http://www.microsoft.com/japan/msdn/net/bb308960.aspx

More Related Content

What's hot (20)

200319 eash python_shareslide_functions
200319 eash python_shareslide_functions200319 eash python_shareslide_functions
200319 eash python_shareslide_functions
Hiroki Katayama
?
仝沿鉛霞姻パッケ`ジで埴も念I尖スタ℃々個め仝沿鉛霞姻パッケ`ジ街久秘壇々
仝沿鉛霞姻パッケ`ジで埴も念I尖スタ℃々個め仝沿鉛霞姻パッケ`ジ街久秘壇々仝沿鉛霞姻パッケ`ジで埴も念I尖スタ℃々個め仝沿鉛霞姻パッケ`ジ街久秘壇々
仝沿鉛霞姻パッケ`ジで埴も念I尖スタ℃々個め仝沿鉛霞姻パッケ`ジ街久秘壇々
Nagi Teramo
?
Project lambda
Project lambdaProject lambda
Project lambda
Appresso Engineering Team
?
Active Directoryデ`タの "寄きい屁方"
Active Directoryデ`タの "寄きい屁方"Active Directoryデ`タの "寄きい屁方"
Active Directoryデ`タの "寄きい屁方"
Michio Koyama
?
g弊順の干檎顎恢霞
g弊順の干檎顎恢霞g弊順の干檎顎恢霞
g弊順の干檎顎恢霞
Hiroshi Nakamura
?
g弊順の干檎顎恢霞┘轡腥`トバ`ジョン
g弊順の干檎顎恢霞┘轡腥`トバ`ジョンg弊順の干檎顎恢霞┘轡腥`トバ`ジョン
g弊順の干檎顎恢霞┘轡腥`トバ`ジョン
Hiroshi Nakamura
?
Esm lt threading_macro
Esm lt threading_macroEsm lt threading_macro
Esm lt threading_macro
垢 消{
?
C# ドキドキ ライブ コ`ディング!! ゛ 弌uの蛍 ゛ | BuriKaigi 2020
C# ドキドキ ライブ コ`ディング!! ゛ 弌uの蛍 ゛ | BuriKaigi 2020C# ドキドキ ライブ コ`ディング!! ゛ 弌uの蛍 ゛ | BuriKaigi 2020
C# ドキドキ ライブ コ`ディング!! ゛ 弌uの蛍 ゛ | BuriKaigi 2020
Fujio Kojima
?
干温厩温セキュアコ`ディングセミナ`叫奨及3指讐吶
干温厩温セキュアコ`ディングセミナ`叫奨及3指讐吶干温厩温セキュアコ`ディングセミナ`叫奨及3指讐吶
干温厩温セキュアコ`ディングセミナ`叫奨及3指讐吶
JPCERT Coordination Center
?
サ`バ`サイドでの掲揖豚I尖で弼?やったよ
サ`バ`サイドでの掲揖豚I尖で弼?やったよサ`バ`サイドでの掲揖豚I尖で弼?やったよ
サ`バ`サイドでの掲揖豚I尖で弼?やったよ
koji lin
?
C#を兵めたばかりの繁へのLINQ to Objects
C#を兵めたばかりの繁へのLINQ to ObjectsC#を兵めたばかりの繁へのLINQ to Objects
C#を兵めたばかりの繁へのLINQ to Objects
Fumitaka Yamada
?
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの試喘並箭-
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの試喘並箭-ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの試喘並箭-
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの試喘並箭-
uedayou
?
C# LINQ ゛侮く岑って、聞いまくろう゛
C# LINQ ゛侮く岑って、聞いまくろう゛C# LINQ ゛侮く岑って、聞いまくろう゛
C# LINQ ゛侮く岑って、聞いまくろう゛
Fujio Kojima
?
Chainer, Cupy秘T
Chainer, Cupy秘TChainer, Cupy秘T
Chainer, Cupy秘T
Yuya Unno
?
PostgreSQLクエリg佩の児A岑R ゛Explainをiみ盾こう゛
PostgreSQLクエリg佩の児A岑R ゛Explainをiみ盾こう゛PostgreSQLクエリg佩の児A岑R ゛Explainをiみ盾こう゛
PostgreSQLクエリg佩の児A岑R ゛Explainをiみ盾こう゛
Miki Shimogai
?
雨稼庄岳霞で遺#を茶膿しはじめた暴の麼嫖
雨稼庄岳霞で遺#を茶膿しはじめた暴の麼嫖雨稼庄岳霞で遺#を茶膿しはじめた暴の麼嫖
雨稼庄岳霞で遺#を茶膿しはじめた暴の麼嫖
Ryota Murohoshi
?
Java x Groovy: improve your java development life
Java x Groovy: improve your java development lifeJava x Groovy: improve your java development life
Java x Groovy: improve your java development life
Uehara Junji
?
12-11-30 Kashiwa.R #5 兜めてのR Rを兵める念に岑っておきたい10のこと
12-11-30 Kashiwa.R #5 兜めてのR Rを兵める念に岑っておきたい10のこと 12-11-30 Kashiwa.R #5 兜めてのR Rを兵める念に岑っておきたい10のこと
12-11-30 Kashiwa.R #5 兜めてのR Rを兵める念に岑っておきたい10のこと
Haruka Ozaki
?
PostgreSQL SQLチュ`ニング秘T g樹(pgcon14j)
PostgreSQL SQLチュ`ニング秘T g樹(pgcon14j)PostgreSQL SQLチュ`ニング秘T g樹(pgcon14j)
PostgreSQL SQLチュ`ニング秘T g樹(pgcon14j)
Satoshi Yamada
?
Effective python#28
Effective python#28Effective python#28
Effective python#28
bontakun
?
200319 eash python_shareslide_functions
200319 eash python_shareslide_functions200319 eash python_shareslide_functions
200319 eash python_shareslide_functions
Hiroki Katayama
?
仝沿鉛霞姻パッケ`ジで埴も念I尖スタ℃々個め仝沿鉛霞姻パッケ`ジ街久秘壇々
仝沿鉛霞姻パッケ`ジで埴も念I尖スタ℃々個め仝沿鉛霞姻パッケ`ジ街久秘壇々仝沿鉛霞姻パッケ`ジで埴も念I尖スタ℃々個め仝沿鉛霞姻パッケ`ジ街久秘壇々
仝沿鉛霞姻パッケ`ジで埴も念I尖スタ℃々個め仝沿鉛霞姻パッケ`ジ街久秘壇々
Nagi Teramo
?
Active Directoryデ`タの "寄きい屁方"
Active Directoryデ`タの "寄きい屁方"Active Directoryデ`タの "寄きい屁方"
Active Directoryデ`タの "寄きい屁方"
Michio Koyama
?
g弊順の干檎顎恢霞┘轡腥`トバ`ジョン
g弊順の干檎顎恢霞┘轡腥`トバ`ジョンg弊順の干檎顎恢霞┘轡腥`トバ`ジョン
g弊順の干檎顎恢霞┘轡腥`トバ`ジョン
Hiroshi Nakamura
?
Esm lt threading_macro
Esm lt threading_macroEsm lt threading_macro
Esm lt threading_macro
垢 消{
?
C# ドキドキ ライブ コ`ディング!! ゛ 弌uの蛍 ゛ | BuriKaigi 2020
C# ドキドキ ライブ コ`ディング!! ゛ 弌uの蛍 ゛ | BuriKaigi 2020C# ドキドキ ライブ コ`ディング!! ゛ 弌uの蛍 ゛ | BuriKaigi 2020
C# ドキドキ ライブ コ`ディング!! ゛ 弌uの蛍 ゛ | BuriKaigi 2020
Fujio Kojima
?
干温厩温セキュアコ`ディングセミナ`叫奨及3指讐吶
干温厩温セキュアコ`ディングセミナ`叫奨及3指讐吶干温厩温セキュアコ`ディングセミナ`叫奨及3指讐吶
干温厩温セキュアコ`ディングセミナ`叫奨及3指讐吶
JPCERT Coordination Center
?
サ`バ`サイドでの掲揖豚I尖で弼?やったよ
サ`バ`サイドでの掲揖豚I尖で弼?やったよサ`バ`サイドでの掲揖豚I尖で弼?やったよ
サ`バ`サイドでの掲揖豚I尖で弼?やったよ
koji lin
?
C#を兵めたばかりの繁へのLINQ to Objects
C#を兵めたばかりの繁へのLINQ to ObjectsC#を兵めたばかりの繁へのLINQ to Objects
C#を兵めたばかりの繁へのLINQ to Objects
Fumitaka Yamada
?
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの試喘並箭-
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの試喘並箭-ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの試喘並箭-
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの試喘並箭-
uedayou
?
C# LINQ ゛侮く岑って、聞いまくろう゛
C# LINQ ゛侮く岑って、聞いまくろう゛C# LINQ ゛侮く岑って、聞いまくろう゛
C# LINQ ゛侮く岑って、聞いまくろう゛
Fujio Kojima
?
Chainer, Cupy秘T
Chainer, Cupy秘TChainer, Cupy秘T
Chainer, Cupy秘T
Yuya Unno
?
PostgreSQLクエリg佩の児A岑R ゛Explainをiみ盾こう゛
PostgreSQLクエリg佩の児A岑R ゛Explainをiみ盾こう゛PostgreSQLクエリg佩の児A岑R ゛Explainをiみ盾こう゛
PostgreSQLクエリg佩の児A岑R ゛Explainをiみ盾こう゛
Miki Shimogai
?
雨稼庄岳霞で遺#を茶膿しはじめた暴の麼嫖
雨稼庄岳霞で遺#を茶膿しはじめた暴の麼嫖雨稼庄岳霞で遺#を茶膿しはじめた暴の麼嫖
雨稼庄岳霞で遺#を茶膿しはじめた暴の麼嫖
Ryota Murohoshi
?
Java x Groovy: improve your java development life
Java x Groovy: improve your java development lifeJava x Groovy: improve your java development life
Java x Groovy: improve your java development life
Uehara Junji
?
12-11-30 Kashiwa.R #5 兜めてのR Rを兵める念に岑っておきたい10のこと
12-11-30 Kashiwa.R #5 兜めてのR Rを兵める念に岑っておきたい10のこと 12-11-30 Kashiwa.R #5 兜めてのR Rを兵める念に岑っておきたい10のこと
12-11-30 Kashiwa.R #5 兜めてのR Rを兵める念に岑っておきたい10のこと
Haruka Ozaki
?
PostgreSQL SQLチュ`ニング秘T g樹(pgcon14j)
PostgreSQL SQLチュ`ニング秘T g樹(pgcon14j)PostgreSQL SQLチュ`ニング秘T g樹(pgcon14j)
PostgreSQL SQLチュ`ニング秘T g樹(pgcon14j)
Satoshi Yamada
?
Effective python#28
Effective python#28Effective python#28
Effective python#28
bontakun
?

Viewers also liked (20)

Gautam Resume
Gautam ResumeGautam Resume
Gautam Resume
Gautam Parakalan
?
Morefun the ancient ii
Morefun the ancient iiMorefun the ancient ii
Morefun the ancient ii
morefuntek
?
Hyper media.
Hyper media.Hyper media.
Hyper media.
uqu
?
ERA DEL ROCKERA DEL ROCK
ERA DEL ROCK
AARONKER
?
prueba
pruebaprueba
prueba
israycharo
?
TablasTablas
Tablas
francovai
?
27 cubos27 cubos
27 cubos
mirryn
?
Apresenta??o Tr?mite 2012 rev2Apresenta??o Tr?mite 2012 rev2
Apresenta??o Tr?mite 2012 rev2
Tr?mite Gest?o Por Compet┷ncia
?
cronograma tema 2cronograma tema 2
cronograma tema 2
grupodemusica
?
Formato de im│genesFormato de im│genes
Formato de im│genes
Cristopher Coronado Moreira
?
A Import?ncia da Consulta Oftalmol┏gicaA Import?ncia da Consulta Oftalmol┏gica
A Import?ncia da Consulta Oftalmol┏gica
Ricardo Gurgel
?
Redes de computadoresRedes de computadores
Redes de computadores
PIBID - Programa Institucional de Bolsa de Inicia??o ┐ Doc┷ncia
?
RSF- FOTOGRAF?A CON M?VIL (I)RSF- FOTOGRAF?A CON M?VIL (I)
RSF- FOTOGRAF?A CON M?VIL (I)
Rociomunoz16
?
Espelhos em aguas quietas
Espelhos em aguas quietasEspelhos em aguas quietas
Espelhos em aguas quietas
camposdojordaocultura
?
Caracteristicas de la creatividadCaracteristicas de la creatividad
Caracteristicas de la creatividad
Felicidad Masegosa
?
C┏digo de └tica del colegio de ingenierosC┏digo de └tica del colegio de ingenieros
C┏digo de └tica del colegio de ingenieros
Dagne Quispe Aguilar
?
A04v2366 trabalho e crise pochmann 2009A04v2366 trabalho e crise pochmann 2009
A04v2366 trabalho e crise pochmann 2009
Debora Cristiane
?
Dia dos pais   Gafisa 2011Dia dos pais   Gafisa 2011
Dia dos pais Gafisa 2011
Ang└lica Sim?o
?
Morefun the ancient ii
Morefun the ancient iiMorefun the ancient ii
Morefun the ancient ii
morefuntek
?
Hyper media.
Hyper media.Hyper media.
Hyper media.
uqu
?
ERA DEL ROCKERA DEL ROCK
ERA DEL ROCK
AARONKER
?
TablasTablas
Tablas
francovai
?
27 cubos27 cubos
27 cubos
mirryn
?
Apresenta??o Tr?mite 2012 rev2Apresenta??o Tr?mite 2012 rev2
Apresenta??o Tr?mite 2012 rev2
Tr?mite Gest?o Por Compet┷ncia
?
cronograma tema 2cronograma tema 2
cronograma tema 2
grupodemusica
?
Formato de im│genesFormato de im│genes
Formato de im│genes
Cristopher Coronado Moreira
?
A Import?ncia da Consulta Oftalmol┏gicaA Import?ncia da Consulta Oftalmol┏gica
A Import?ncia da Consulta Oftalmol┏gica
Ricardo Gurgel
?
RSF- FOTOGRAF?A CON M?VIL (I)RSF- FOTOGRAF?A CON M?VIL (I)
RSF- FOTOGRAF?A CON M?VIL (I)
Rociomunoz16
?
Caracteristicas de la creatividadCaracteristicas de la creatividad
Caracteristicas de la creatividad
Felicidad Masegosa
?
C┏digo de └tica del colegio de ingenierosC┏digo de └tica del colegio de ingenieros
C┏digo de └tica del colegio de ingenieros
Dagne Quispe Aguilar
?
A04v2366 trabalho e crise pochmann 2009A04v2366 trabalho e crise pochmann 2009
A04v2366 trabalho e crise pochmann 2009
Debora Cristiane
?
Dia dos pais   Gafisa 2011Dia dos pais   Gafisa 2011
Dia dos pais Gafisa 2011
Ang└lica Sim?o
?

Similar to 20071030 (20)

PostgreSQL - C冱Zによるユ`ザ協xv方の恬り圭
PostgreSQL - C冱Zによるユ`ザ協xv方の恬り圭PostgreSQL - C冱Zによるユ`ザ協xv方の恬り圭
PostgreSQL - C冱Zによるユ`ザ協xv方の恬り圭
Satoshi Nagayasu
?
C# 塀直 (Expression Tree) ゛ LINQをより侮く尖盾するために ゛
C# 塀直 (Expression Tree) ゛ LINQをより侮く尖盾するために ゛C# 塀直 (Expression Tree) ゛ LINQをより侮く尖盾するために ゛
C# 塀直 (Expression Tree) ゛ LINQをより侮く尖盾するために ゛
Fujio Kojima
?
冩梢伏のためのC++ no.2
冩梢伏のためのC++ no.2冩梢伏のためのC++ no.2
冩梢伏のためのC++ no.2
Tomohiro Namba
?
Jetpack datastore秘T
Jetpack datastore秘TJetpack datastore秘T
Jetpack datastore秘T
furusin
?
Boost tour 1_44_0
Boost tour 1_44_0Boost tour 1_44_0
Boost tour 1_44_0
Akira Takahashi
?
Teclab3
Teclab3Teclab3
Teclab3
Eikichi Yamaguchi
?
干温厩温セキュアコ`ディングセミナ`叫奨及3指處楼の盾h
干温厩温セキュアコ`ディングセミナ`叫奨及3指處楼の盾h干温厩温セキュアコ`ディングセミナ`叫奨及3指處楼の盾h
干温厩温セキュアコ`ディングセミナ`叫奨及3指處楼の盾h
JPCERT Coordination Center
?
及2指デザインパタ`ン彿創
及2指デザインパタ`ン彿創及2指デザインパタ`ン彿創
及2指デザインパタ`ン彿創
gaaupp
?
干温厩温セキュアコ`ディングセミナ`叫奨及3指處楼
干温厩温セキュアコ`ディングセミナ`叫奨及3指處楼干温厩温セキュアコ`ディングセミナ`叫奨及3指處楼
干温厩温セキュアコ`ディングセミナ`叫奨及3指處楼
JPCERT Coordination Center
?
粥稼糸姻看庄糸の宥佚巓りのコ`テ?ィンク?について
粥稼糸姻看庄糸の宥佚巓りのコ`テ?ィンク?について粥稼糸姻看庄糸の宥佚巓りのコ`テ?ィンク?について
粥稼糸姻看庄糸の宥佚巓りのコ`テ?ィンク?について
Shoichi Takagi
?
C# LINQ秘T
C# LINQ秘TC# LINQ秘T
C# LINQ秘T
Fujio Kojima
?
Swift 3.0 の仟C嬬 - 弖紗?筝まわりだけ、ざっくりB初 2 #devsap
Swift 3.0 の仟C嬬 - 弖紗?筝まわりだけ、ざっくりB初 2 #devsapSwift 3.0 の仟C嬬 - 弖紗?筝まわりだけ、ざっくりB初 2 #devsap
Swift 3.0 の仟C嬬 - 弖紗?筝まわりだけ、ざっくりB初 2 #devsap
Tomohiro Kumagai
?
^Design and Implementation of Generics for the .NET Common Language Runtime ̄麿...
^Design and Implementation of Generics for the .NET Common Language Runtime ̄麿...^Design and Implementation of Generics for the .NET Common Language Runtime ̄麿...
^Design and Implementation of Generics for the .NET Common Language Runtime ̄麿...
Masahiro Sakai
?
Twitter sphere of #twitter4j #twtr_hack
Twitter sphere of #twitter4j #twtr_hackTwitter sphere of #twitter4j #twtr_hack
Twitter sphere of #twitter4j #twtr_hack
kimukou_26 Kimukou
?
Design mvc apps with spotify web api object model
Design mvc apps with spotify web api object modelDesign mvc apps with spotify web api object model
Design mvc apps with spotify web api object model
Takao Tetsuro
?
.NETからActive Directoryデ`タにアクセス ゛ユ`ザ秤鵑糧ゝ辰髪輅勝
.NETからActive Directoryデ`タにアクセス ゛ユ`ザ秤鵑糧ゝ辰髪輅勝.NETからActive Directoryデ`タにアクセス ゛ユ`ザ秤鵑糧ゝ辰髪輅勝
.NETからActive Directoryデ`タにアクセス ゛ユ`ザ秤鵑糧ゝ辰髪輅勝
Michio Koyama
?
[|奨] JapanSharePointGroup 茶氏 2
[|奨] JapanSharePointGroup 茶氏 2[|奨] JapanSharePointGroup 茶氏 2
[|奨] JapanSharePointGroup 茶氏 2
Atsuo Yamasaki
?
.NETからActive Directoryデ`タにアクセス ゛グル`プ秤鵑糧ゝ辰髪輅勝
.NETからActive Directoryデ`タにアクセス ゛グル`プ秤鵑糧ゝ辰髪輅勝.NETからActive Directoryデ`タにアクセス ゛グル`プ秤鵑糧ゝ辰髪輅勝
.NETからActive Directoryデ`タにアクセス ゛グル`プ秤鵑糧ゝ辰髪輅勝
Michio Koyama
?
PostgreSQL - C冱Zによるユ`ザ協xv方の恬り圭
PostgreSQL - C冱Zによるユ`ザ協xv方の恬り圭PostgreSQL - C冱Zによるユ`ザ協xv方の恬り圭
PostgreSQL - C冱Zによるユ`ザ協xv方の恬り圭
Satoshi Nagayasu
?
C# 塀直 (Expression Tree) ゛ LINQをより侮く尖盾するために ゛
C# 塀直 (Expression Tree) ゛ LINQをより侮く尖盾するために ゛C# 塀直 (Expression Tree) ゛ LINQをより侮く尖盾するために ゛
C# 塀直 (Expression Tree) ゛ LINQをより侮く尖盾するために ゛
Fujio Kojima
?
冩梢伏のためのC++ no.2
冩梢伏のためのC++ no.2冩梢伏のためのC++ no.2
冩梢伏のためのC++ no.2
Tomohiro Namba
?
Jetpack datastore秘T
Jetpack datastore秘TJetpack datastore秘T
Jetpack datastore秘T
furusin
?
干温厩温セキュアコ`ディングセミナ`叫奨及3指處楼の盾h
干温厩温セキュアコ`ディングセミナ`叫奨及3指處楼の盾h干温厩温セキュアコ`ディングセミナ`叫奨及3指處楼の盾h
干温厩温セキュアコ`ディングセミナ`叫奨及3指處楼の盾h
JPCERT Coordination Center
?
及2指デザインパタ`ン彿創
及2指デザインパタ`ン彿創及2指デザインパタ`ン彿創
及2指デザインパタ`ン彿創
gaaupp
?
干温厩温セキュアコ`ディングセミナ`叫奨及3指處楼
干温厩温セキュアコ`ディングセミナ`叫奨及3指處楼干温厩温セキュアコ`ディングセミナ`叫奨及3指處楼
干温厩温セキュアコ`ディングセミナ`叫奨及3指處楼
JPCERT Coordination Center
?
粥稼糸姻看庄糸の宥佚巓りのコ`テ?ィンク?について
粥稼糸姻看庄糸の宥佚巓りのコ`テ?ィンク?について粥稼糸姻看庄糸の宥佚巓りのコ`テ?ィンク?について
粥稼糸姻看庄糸の宥佚巓りのコ`テ?ィンク?について
Shoichi Takagi
?
Swift 3.0 の仟C嬬 - 弖紗?筝まわりだけ、ざっくりB初 2 #devsap
Swift 3.0 の仟C嬬 - 弖紗?筝まわりだけ、ざっくりB初 2 #devsapSwift 3.0 の仟C嬬 - 弖紗?筝まわりだけ、ざっくりB初 2 #devsap
Swift 3.0 の仟C嬬 - 弖紗?筝まわりだけ、ざっくりB初 2 #devsap
Tomohiro Kumagai
?
^Design and Implementation of Generics for the .NET Common Language Runtime ̄麿...
^Design and Implementation of Generics for the .NET Common Language Runtime ̄麿...^Design and Implementation of Generics for the .NET Common Language Runtime ̄麿...
^Design and Implementation of Generics for the .NET Common Language Runtime ̄麿...
Masahiro Sakai
?
Twitter sphere of #twitter4j #twtr_hack
Twitter sphere of #twitter4j #twtr_hackTwitter sphere of #twitter4j #twtr_hack
Twitter sphere of #twitter4j #twtr_hack
kimukou_26 Kimukou
?
Design mvc apps with spotify web api object model
Design mvc apps with spotify web api object modelDesign mvc apps with spotify web api object model
Design mvc apps with spotify web api object model
Takao Tetsuro
?
.NETからActive Directoryデ`タにアクセス ゛ユ`ザ秤鵑糧ゝ辰髪輅勝
.NETからActive Directoryデ`タにアクセス ゛ユ`ザ秤鵑糧ゝ辰髪輅勝.NETからActive Directoryデ`タにアクセス ゛ユ`ザ秤鵑糧ゝ辰髪輅勝
.NETからActive Directoryデ`タにアクセス ゛ユ`ザ秤鵑糧ゝ辰髪輅勝
Michio Koyama
?
[|奨] JapanSharePointGroup 茶氏 2
[|奨] JapanSharePointGroup 茶氏 2[|奨] JapanSharePointGroup 茶氏 2
[|奨] JapanSharePointGroup 茶氏 2
Atsuo Yamasaki
?
.NETからActive Directoryデ`タにアクセス ゛グル`プ秤鵑糧ゝ辰髪輅勝
.NETからActive Directoryデ`タにアクセス ゛グル`プ秤鵑糧ゝ辰髪輅勝.NETからActive Directoryデ`タにアクセス ゛グル`プ秤鵑糧ゝ辰髪輅勝
.NETからActive Directoryデ`タにアクセス ゛グル`プ秤鵑糧ゝ辰髪輅勝
Michio Koyama
?

20071030

  • 1. LINQ 恷兜の匯i Webアプリケ`ションボ`ド リ`ダ 弌勸俐望┐匹辰箸佑辰箸佞 ん
  • 2. LINQとは ? デ`タ┘ブジェクトの鹿栽からgな 峰で〆駅勣なオブジェクト〇の〆駅勣な メンバ〇を〆駅勣とする會〇で函り竃せ るようにした薦なシンタックスシュガ` ? _k宀は渇竃訳周、渇竃するメンバ、渇竃會にのみ v伉をBえばよい ? 函り竃すデ`タの侏を喘吭したり、Rり卦し猟をい たりする駅勣はない var query = from x in デ`タの鹿栽 where 渇竃訳周 orderby 渇竃會のキ`朕 select 渇竃するメンバ ;
  • 3. 鵑箸覆襯禰`タ ? 塘双、LIST<T>LINQ to Object ? 鏡徭に協xしたオブジェクトやMみzみオブジェクト の鹿栽 ? XMLファイルLINQ to XML ? XElementオブジェクトのツリ` ? デ`タベ`スLINQ to SQL ? DataContextU喇で函り竃すTableオブジェクト ? 輝兜鬉垢襪里SQL Serverのみ ? Entity Data ModelLINQ to Entities ? Entity Frameworkによって伏撹されるオブジェクト ? Entity Frameworkは.NET Framework 3.5の恷兜のリリ`ス には根まれない嚠協
  • 4. START Ver3.5 using System; using System.Linq; using System.Collections.Generic; using System.IO; namespace VSUGSAMPLE { class Program { static void Main(string[] args) { DirectoryInfo di = new DirectoryInfo(@"C:UsersonoDesktopLINQVideo"); List<FileInfo> files = new List<FileInfo>(di.GetFiles()); var query = from f in files where f.Length > 10 * 1024 * 1024 && f.Length < 15 * 1024 * 1024 select new { f.Name, f.Length }; foreach (var file in query) Console.WriteLine("{0}:{1}", file.Name, file.Length); } } }
  • 5. デモ 1. メソッドのg廾 2. クエリ塀をラムダ塀を旋喘したメソッ ド柵び竃しにQ 3. ラムダ塀をdelegateにQ 4. 停兆侏の電茅 5. オブジェクト兜豚晒徨の電茅 6. 徭啜弔g廾されるプロパティの電茅 7. 圧a議に侏峺協されたロ`カル篳の電茅 8. メソッドの電茅 9. Ver2.0でコンパイル
  • 6. END C Ver2.0 using System; private static IEnumerable<TmpFile> using System.Collections.Generic; select(IEnumerable<FileInfo> query) using System.IO; { foreach (FileInfo f in query) namespace VSUGSAMPLE { { TmpFile t = new TmpFile(); class Program t.Name = f.Name; { t.Length = f.Length; static void Main(string[] args) yield return t; { } DirectoryInfo di = new } DirectoryInfo(@"C:UsersonoDesktopLINQVideo"); } List<FileInfo> files = new List<FileInfo>(di.GetFiles()); public class TmpFile IEnumerable<FileInfo> query2 = files.FindAll(delegate(FileInfo f) { { string name; return f.Length > 10 * 1024 * 1024 && f.Length < 15 * 1024 long length; * 1024; } public string Name ); { get { return name; } IEnumerable<TmpFile> query = select(query2); set { name = value; } } foreach (TmpFile file in query) public long Length { Console.WriteLine("{0}:{1}", file.Name, file.Length); get { return length; } } set { length = value; } } } }
  • 7. IEnumerableとIQueryable ? IQueryableでは塀のツリ`を侘撹 ? ラムダ塀の塀の何蛍をデ`タとして隠隔 ? デ`タにアクセスするタイミングで塀のツリ` をu ? IEnumerableはプログラムそのもののg佩 W决u ☆試喘箭 LINQ to SQL恷K議に駅勣なSQL猟のみを伏撹
  • 8. LINQ to XML ? XMLを吭Rしないプログラムが辛嬬 ? XML侘塀のQも辛嬬 XElement People = XElement.Parse( @"<People> <Person> <Name>オサダ トシヒロ</Name> <Gender>1</Gender> <Age>32</Age> </Person> </People>"); var query = from p in People.Descendants("Person") where (int)p.Element("Gender") == 1 && (int)p.Element("Age") >= 20 orderby (int)p.Element("Age") select p;
  • 9. LINQ to SQL ? デ`タベ`スとB亊するクラスはウィザ`ド で伏撹 ? 伏撹されるT-SQLはパラメ`タを聞喘 ? 弖紗厚仟茅は徭啜弔縫肇薀鵐競ショ ン晒 ? パ`シャルメソッドを聞喘してビジネスル` ルの弖紗が辛嬬 LINQTESTDataContext dtc = new LINQTESTDataContext(); var query = from p in dtc.People where p.Gender == 1 && p.Age >= 20 orderby p.Age select p;
  • 10. まとめ ? LINQはそれがないとプログラムがけな いというような勣殆ではない ? 誼は否叟、しかも階薦 ? 旋喘譴寄していくと深えられる ? デ`タ侘塀阿鬉垢IQuaryableプロバイダ が戻工されればよい ? まず乾れてその聞い拱屬鮓个犬討曚靴
  • 11. 歌深秤 ? ビデオ ? Decomposing LINQ ? http://www.microsoft.com/uk/msdn/nuggets/nugget/227/Decomposing-LINQ.aspx ? MSDN Nuggets ? http://www.microsoft.com/uk/msdn/nuggets/ ? C# 3.08云 LINQ to SQL18云 LINQ to XML3云 LINQ to Entities5云 吉 ? Blog ? Mike Taulty's Blog : LINQ? Single Step this code... ? http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2007/10/03/9842.aspx ? LINQ: Building an Iqueryable Provider Part I to VII ? http://blogs.msdn.com/mattwar/archive/2007/07/30/linq-building-an-iqueryable-provider-part- i.aspx ? Y創 ? C#3.0の古勣 ? http://www.microsoft.com/japan/msdn/net/bb308966.aspx ? LINQ.NETy栽冱Zクエリ ? http://www.microsoft.com/japan/msdn/net/bb308959.aspx ? .NET淵エリ處麻徨 ? http://www.microsoft.com/japan/msdn/net/bb394939.aspx ? LINQ to SQL坤螢讒`ショナルデ`タのための.NETy栽冱Zクエリ ? http://www.microsoft.com/japan/msdn/net/bb425822.aspx ? XMLデ`タ喘の.NETy栽冱Zクエリ ? http://www.microsoft.com/japan/msdn/net/bb308960.aspx