「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>.NET開発]]
--[[LINQ]] > [[ラムダ式って]]
--[[.NET の Reflection]]

* 目次 [#dc7c2604]
#contents

*概要 [#fc7bf3b4]
-式木(Expression tree)とは、式(数式)を木構造で表したものの事。
-以前は、1文だけのラムダ式のみ式木(Expression tree)にできた。
-.NET 4 から、強化され DLR で使っている構文木の全機能を備える。

*詳細 [#s384a42b]

**使用例 [#j2e9a579]
実際に、文字列の計算式の計算結果を取得するライブラリでは、~
RPN(Reverse Polish Notation、[[逆ポーランド記法>https://ja.wikipedia.org/wiki/%E9%80%86%E3%83%9D%E3%83%BC%E3%83%A9%E3%83%B3%E3%83%89%E8%A8%98%E6%B3%95]])や~
式木(Expression Tree)を使って計算するライブラリなどがある。

**[[LINQ]]との関連 [#z1813cfa]
[[LINQ]]プロバイダでは、ラムダ式を式木として扱う

*参考 [#tc1ae8a0]
-herara_ofnir3.blogger: [C#]式木入門~
http://ofnirs.blogspot.com/2012/11/introduction-of-expression-tree.html
--全てが式になる,全てが木になる,全てが式木になる - NyaRuRuが地球にいたころ~
http://nyaruru.hatenablog.com/entry/20071230/p1
--式木(Expression Trees) - C# によるプログラミング入門 | ++C++; // 未確認飛行 C~
https://ufcpp.net/study/csharp/sp3_expression.html

-文字列の計算式の計算結果を取得する - .NET Tips (VB.NET,C#...)~
https://dobon.net/vb/dotnet/programing/eval.html

--C# Expression Parser using RPN - CodeProject~
https://www.codeproject.com/Articles/5875/C-Expression-Parser-using-RPN

--逆ポーランド記法と木構造の絵~
https://qiita.com/yumura_s/items/ddb0d143fb0e9a082891

-(プログラミング C# - 翔ソフトウェア (Sho's))
--[C#][ラムダ式][式木] Expression として扱えるラムダ式と扱えないラムダ式~
http://blog.shos.info/archives/2012/11/cexpression_expression.html
--[C#][ラムダ式][式木] Expression の構造を調べてみる~
http://blog.shos.info/archives/2012/11/cexpression_expression_1.html
--[C#][ラムダ式][式木] Expression を使ってラムダ式のメンバー名を取得する~
http://blog.shos.info/archives/2012/12/cexpression_expression_2.html
--[C#][ラムダ式][式木] Expression でラムダ式を作成してデリゲートとして実行する~
http://blog.shos.info/archives/2013/06/csharp_expression4.html

-[[LINQ]]との関連
--C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~~
https://www.slideshare.net/Fujiwo/20141026-c-c-expression-tree
--[C#][式木][LINQ] IQueryable な Twitter のタイムライン クラスと~
LINQ プロバイダー (プログラミング C# - 翔ソフトウェア (Sho's))~
http://blog.shos.info/archives/2014/12/csharp_expression_iqueryable.html

----
Tags: [[:プログラミング]], [[:.NET開発]]

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS