SlideShare a Scribd company logo
Linq to FUN
.NETノススメ
自己紹介
 知能4年  山中雅俊 HN: 猫ロキP
 WM向けラーメン大陸クローン「うどん島」
  作者 ←NEW!
 どちらかというと中間派閥
    サーバはLinux、クライアントはWindowsか
     Mac
 .NET大好き!
    OpenCvSharp使ったことあります。
Linqってなに?
   .NET Framework 3.5からの機能
   SQLっぽい文法でオブジェクトやデータベースに
    アクセスできる。
   .NETなので使える言語が豊富!
       C#だけじゃなくてVB.NET,C++/CLI,IronPythonほか
        いろいろ
   C言語で使えない?
       →C++/CLI使えばおk
       ラッパー使わなくてもOpenCVつかえるし!(たぶ
        ん
C#でのクエリ式
collection変数 から 10以上 の値を2乗して出
力する例

var query = from x in collection
     where x > 10
     select x * x;
めんどいのでメソッド形式で
collection変数 から 10以上 の値を2乗して出
力する例

var query =
    Collection .Where(x => x > 10)
    .Select(x => x * x);
どんな風にして取り出すの?
 foreachをつかうと楽々。



 foreach( var item in query )
 {
     hogehoge(item);
 }
ラムダ式
x => x > 10 ってどういう意味か
 この場合だと
bool function ( int x ){
      return x >10;
}
という関数を呼び出すという意味
 こんな関数とかいちいち作ってられませんよ
  ね、ってことで省略記法がある。
どんなときに使えるの?
 IEnumeableを拡張するメソッドなのでどん
  なのでも使える。
 IEnumeableを実装するクラスなら何でも使
  えるので、抽出処理が必要なときにすごく便
  利。
    for文で同じことしようとしたら死にますよね。
 使えるオブジェクトの例
    配列(int[] とかstring[]とかbyte[]とか)
    List<T>(Tは任意のオブジェクト)
Twitterでの抽出利用例
     架空のプログラムですが。
// 自分に対するリプライだけ抽出。
var reply = Timeline
      .Where(post => post.ReplyToUser == myUser );
// 文字列だけ抽出
var replyString = reply
      .Select(post => post.String);

//最後のやつだけ取り出す。
var lastReply = reply.Last();
まとめ
 .NETFrameworkサイコーッ!
 Linqもラムダ式も使えないC#なんてC#じゃ
  ないってぐらい便利です。っていうかC#
  じゃないです。もうすでにC#2.0はC#じゃな
  いです。
     Linuxではmonoを使えばLinqつかえるらしい?
 さっきから軽音部が練習してる音楽が気に
 なって仕方がない。
     なんかひとつだけレンのFire◎Flower混じって
      ね?
      ( ゚∀゚)アッオッエーイエイエー!!
      アッオー♪o(´Д`o)(o´Д`)oエーイエイエー♪
参考文献とか
 LINQ(++C++;     // 未確認飛行 C)
    http://ufcpp.net/study/csharp/sp3_linq.html
 LINQ:   .NET 統合言語クエリ(MSDN)
    http://msdn.microsoft.com/ja-
     jp/library/bb308959.aspx
オープンソースカンファレンス
2010北海道いってきます
 告知みたいな。
 俺はLOCAL学生部の函館地域代表としてセミ
  ナー(というか成果発表)をやります。
 日程:2010年6月26日(土) 10:00~18:30
 会場:札幌市産業振興センター 産業振興棟2F
 費用:無料
 学生には補助あります

More Related Content

PDF
Rubyの御先祖CLUのお話(OSC 2011 Shimane LT 資料)
PPTX
基礎構文班19回目 変数のスコープとforの並び替え
PDF
Rubyの御先祖CLUのお話(原本)
PDF
PythonistaがOCamlを実用する方法
PDF
Rubyの御先祖CLU(くるう)のお話(OSC2013 Hamamatsu 発表資料)
PDF
Erlangやってみた
PDF
[第2版]Python機械学習プログラミング 第14章
PDF
研究生のためのC++ no.2
Rubyの御先祖CLUのお話(OSC 2011 Shimane LT 資料)
基礎構文班19回目 変数のスコープとforの並び替え
Rubyの御先祖CLUのお話(原本)
PythonistaがOCamlを実用する方法
Rubyの御先祖CLU(くるう)のお話(OSC2013 Hamamatsu 発表資料)
Erlangやってみた
[第2版]Python機械学習プログラミング 第14章
研究生のためのC++ no.2

What's hot (20)

PDF
テンプレートメタプログラミング as 式
PDF
研究生のためのC++ no.4
PDF
モナドをつくろう
PDF
[第2版]Python機械学習プログラミング 第16章
PPTX
PDF
研究会20140618:進捗と闇Pythonistaのワンライナーテクニックを少々
PPTX
基礎構文班 5回目 繰り返し
PPTX
Coqでsprintf
PPTX
Coqでsprintf
PDF
Java オブジェクトの内部構造
PPTX
[第2版]Python機械学習プログラミング 第9章
PDF
Constexprとtemplateでコンパイル時にfizz buzz
ODP
Real World OCamlを読んでLispと協調してみた
PPTX
大人のお型付け
PDF
数式 → コード,文書:OpenGL計算ライブラリ実装の経験から
PDF
関数型プログラミング入門 with OCaml
PDF
JavaScript 講習会 #1
PDF
[第2版]Python機械学習プログラミング 第13章
PPTX
C# linq入門 意図編
PDF
Emcjp item21
テンプレートメタプログラミング as 式
研究生のためのC++ no.4
モナドをつくろう
[第2版]Python機械学習プログラミング 第16章
研究会20140618:進捗と闇Pythonistaのワンライナーテクニックを少々
基礎構文班 5回目 繰り返し
Coqでsprintf
Coqでsprintf
Java オブジェクトの内部構造
[第2版]Python機械学習プログラミング 第9章
Constexprとtemplateでコンパイル時にfizz buzz
Real World OCamlを読んでLispと協調してみた
大人のお型付け
数式 → コード,文書:OpenGL計算ライブラリ実装の経験から
関数型プログラミング入門 with OCaml
JavaScript 講習会 #1
[第2版]Python機械学習プログラミング 第13章
C# linq入門 意図編
Emcjp item21
Ad

Viewers also liked (20)

PDF
北海道の南端で勉強会やります
PPT
Self-Employed Academy Overview
PDF
Shaunequa Brathwaite's 2012 Portfolio
PPT
L1 media convergence
PDF
Shaunequa Brathwaite's Portfolio 2014
PPT
Nicole Larson
PPTX
T R O P A
PDF
Windows使いのための仮想マシン入門
PDF
Benefits of Using ROCG North Florida
PDF
TwitterのOAuthってなんぞ?
PPTX
Căn hộ 91 phạm văn hai
PPSX
Bigdata presentation
PPTX
Cloud Core VPSにマイクラ鯖を立てた話
PDF
HTML5でギャルゲーを作れるか?
PPTX
Heartbleed脆弱性について
ODP
Conformisme 2.0
PDF
Synodiance > Formation SEO avec les experts du digital - 07/09/2013
PDF
Du contenu B2B pour les Nuls (et les PME)
PDF
ergonomie
北海道の南端で勉強会やります
Self-Employed Academy Overview
Shaunequa Brathwaite's 2012 Portfolio
L1 media convergence
Shaunequa Brathwaite's Portfolio 2014
Nicole Larson
T R O P A
Windows使いのための仮想マシン入門
Benefits of Using ROCG North Florida
TwitterのOAuthってなんぞ?
Căn hộ 91 phạm văn hai
Bigdata presentation
Cloud Core VPSにマイクラ鯖を立てた話
HTML5でギャルゲーを作れるか?
Heartbleed脆弱性について
Conformisme 2.0
Synodiance > Formation SEO avec les experts du digital - 07/09/2013
Du contenu B2B pour les Nuls (et les PME)
ergonomie
Ad

Similar to Linq To Fun (20)

PPTX
C#を始めたばかりの人へのLINQ to Objects
PDF
VS勉強会 .NET Framework 入門
PDF
LINQソースでGO!
PDF
非.NETerに向けたLINQの紹介
PPTX
Linqことはじめ
PPTX
C# 3.0 以降
PDF
MlnagoyaRx
PDF
MlnagoyaRx02
PPTX
Linqの速度測ってみた
PPTX
20080201
PDF
Final LINQ Extensions
PDF
LINQ in Unity
PDF
linq.js - Linq to Objects for JavaScript
PPTX
LINQ 概要 + 結構便利な LINQ to XML
PDF
Linq to XXXX(Reactive Extensionsの紹介)
PDF
The History of LINQ
PPTX
Boost17 cpplinq
PPTX
20071204
PPTX
LINQ to なにがし
PDF
JavaScriptとCollection
C#を始めたばかりの人へのLINQ to Objects
VS勉強会 .NET Framework 入門
LINQソースでGO!
非.NETerに向けたLINQの紹介
Linqことはじめ
C# 3.0 以降
MlnagoyaRx
MlnagoyaRx02
Linqの速度測ってみた
20080201
Final LINQ Extensions
LINQ in Unity
linq.js - Linq to Objects for JavaScript
LINQ 概要 + 結構便利な LINQ to XML
Linq to XXXX(Reactive Extensionsの紹介)
The History of LINQ
Boost17 cpplinq
20071204
LINQ to なにがし
JavaScriptとCollection

Linq To Fun