1.什么是表達式目錄樹 :簡單的說是一種語法樹,或者說是一種數據結構(Expression)
2.用Lambda聲明表達式目錄樹:
Expression<Func<int, int, int>> exp = (n, m) => n * m + 2; //表達試目錄樹的方法體只能是一行,不能有大括號。比如: //Expression<Func<int, int, int>> exp1 = (m, n) => // { // return m * n + 2; // };3.Expression.Compile();
Func<int, int, int> func = (m, n) => m * n + 2; Expression<Func<int, int, int>> exp = (m, n) => m * n + 2; int iResult1 = func.Invoke(99, 99); int iResult2 = exp.Compile().Invoke(99, 99);
iResult1 和iResult2的結果一樣,但是能Compile()的只有LambdaExpression。 Compile() 是將表達式樹描述的 Lambda 表達式編譯為可執行代碼,并生成表示該 lambda 表達式的委托。exp.Compile().Invoke(99,99) 相當于這樣調用 exp.Compile()();
4. 主站蜘蛛池模板: 颍上县| 阳谷县| 台山市| 梅州市| 珠海市| 政和县| 延津县| 涿州市| 城口县| 称多县| 津南区| 西贡区| 沅陵县| 西平县| 云和县| 石嘴山市| 新疆| 连平县| 广东省| 兰州市| 卫辉市| 洪雅县| 深水埗区| 怀化市| 中江县| 固原市| 长治县| 芜湖市| 云和县| 佛教| 额尔古纳市| 阿鲁科尔沁旗| 定安县| 普格县| 敖汉旗| 蒙山县| 浦东新区| 吉隆县| 偏关县| 巴彦县| 龙南县|