PPTX - .NET FRAMEWORK 4.0 世代の EXPRESSION TREES.pptx

PPTX - .NET FRAMEWORK 4.0 世代の EXPRESSION TREES.pptx

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PPTX - .NET FRAMEWORK 4.0 世代の EXPRESSION TREES.pptx

.NET Framework 4.0 世代の Expression TreesSeptember 26th, 2009渋木宏明(ひどり)Microsoft MVP for C#自己紹介プロフィール名前渋木宏明(ひどり)出身地東京都職業フリーランスの開発者技術分野Visual C#, Windows.Formsコミュニティ活動ホームページhttp://hidori.jp/http://hidori.jp/ブログhttp://hidori.jp/blog/http://hidori.jp/blog/Twitter/hidori/hidoriその他Microsoft MVP for Visual C#VSUG ボードリーダー 「C++/CLI その他掲示板」アジェンダはじめに.NET Framework 3.5 SP1 世代の Expression Trees.NET Framework 4.0 Beta1 世代の Expression TreesまとめはじめにExpression Trees とは?式 を木構造で表わしたモノ一般的には「式木」と訳されているハズMSDN ライブラリでは、Expression Trees の訳語として「式ツリー」が採用されている(例)式を木構造で表わす(a + 1) * (b - 3)※ 木構造は、演算子の優先度などを反映している。.NET Framework 3.5SP1 世代の Expression Trees.NET Framework 3.5SP1 における Expression TreesLINQ の超重要な基盤技術の1つSystem.Linq.Expressions 名前空間が新設され、「式ツリー」を扱うためのクラス?列挙子などが追加されたSystem.Linq.Expressions 名前空間のメンバによる「式ツリー」の特徴「式ツリー」の各ノードは、Epxression クラスの派生型で表わす「式ツリー」は、Epxression クラスの静的メソッドを利用して構築する「式ツリー」は、実行時に匿名デリゲートに変換することができる→ いわゆる「数学的な関数」を動的に作成することが可能LINQ?統合言語クエリ(Language Integrated Query)VB, C# などのソースコード中に、SQL 似の構文でデータ操作を記述するための仕組み「LINQ プロバイダ」が提供されている様々なデータソースを、ほぼ同じような記述で操作することができる標準で以下のデータソースが利用可能( .NET Framework 3.5SP1 リリース当初)LINQ to Object (一般的なデータクラスを操作)LINQ to SQL (SQL Server 上のデータを操作)LINQ to XML (XML 文書のデータを操作)こんな風にデータ操作// LINQ によるクエリvar query = from x in table where x.Age 30 select x;// クエリ結果を表示foreach (var person in query){ Console.Out.WriteLine(person.Name);}こんな風に検索することが出来るvar query = LINQ の基盤技術LINQ のココが式ツリーvar query = from x in table where 30 x.Age select x;ココココとかvar query = table .Where(x = 30 x.Age);条件式?選択式、ラムダ式→ 式ツリー or 匿名デリゲートx.Age 30コンパイラx = x.Age 30式ツリー匿名デリゲート式ツリーの応用条件式を動的に作成、クエリを実行チェックボックス、コンボボックスなどで与えられる複合条件から式木を作成して、クエリを実行計算式を動的に作成、実行業務系ではあまりそういうニーズは無い?式木そのものを処理対象とする岩永(ufcpp)さんのホームページで紹介されている「式木を微分」のサンプル/study/csharp/sp3_expressionsample.html/study/csharp/sp3_expressionsample.htmlこんなデータがあるとして…/// summary/// 「名前」と「年齢」を格納するデータクラス/// /summaryclass Person{ public string Name { get; set; } public int Age { get; set; }}// テストデータvar table = new[]{ new Person { Name = ailight, Age = 30},

文档评论(0)

czy2014 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档