表达式树
以前没听过表达式树,只听过表达式,而且听过Lambda表达式,首先介绍一下.NET里表达式树的核心概念:讲代码作为数据,他将一些代码表示为一个对象树,树中的每个节点本身都是一个表达式,不同的表达式类型代表能在代码中执行不同操作:二元操作,一元操作,方法调用等等.
System.Linq.Expression命名空间包含了代表表达式的各个类.所有的表达式类都从Expression...
扩展方法的思考来源于这样的一次经历:在项目中开发程序时,经常这样使用List和Dictionary。使用的时候也从来没想过,为什么可以这么用,底层是怎么实现的,直到……...
分类:
其他好文 时间:
2015-08-03 10:18:01
阅读次数:
147
并行LINQ
.NET4在System.Linq命名空间中包含一个新类ParallelEnumerable,可以分解查询的工作使其分布在多个线程上.尽管Enumerable类给IEnumerable接口定义了扩展方法,但ParallelEnumerable类的大多数扩展方法是ParallelQuery类的扩展.一个重要的例外是AsParallel()方法,它扩展了IEnumerable接口,返回...
一、接口的默认方法 Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法,示例如下: 复制代码 代码如下: interface Formula { ??? double calculate(int...
分类:
编程语言 时间:
2015-08-02 13:49:42
阅读次数:
212
引言
我在上一篇随笔中介绍了计算自然对数的快速算法。现在我们来看看计算指数函数的算法。我们知道,指数函数 ex 可以展开为泰勒级数:
这个级数对全体实数 x 都收敛,并且在 x 接近零时收敛得比较快。
实现该算法的 C# 程序
根据前面所述的 ex 的泰勒级数展开式,可以写出以下 C# 程序来为 decimal 数据类型添加一个 Exp 扩展方法:
1 ...
分类:
编程语言 时间:
2015-08-01 14:22:15
阅读次数:
220
1.自动属性(Auto-Implemented Properties)//以前的写法 .net2.0private string _userName;public string UserName{ get { return _userName; } set { _userName= ...
测试环境 windows 7 vs2013
C++ 11中的Lambda表达式用于定义并创建匿名的函数对象,以简化编程工作。例如GPU编程中常用到。
一个最简单的lamada表达式程序
#include
#include
using namespace std;
int main()
{
function fun = [](){cout << "hello la...
分类:
编程语言 时间:
2015-07-30 23:24:39
阅读次数:
200
用法:上述方法是DataTable的扩展方法:静态类静态方法,变量前用this(一)ps:普通datatable转标准jsonDataTable dt = 获取db中的datatable数据。 string jsonStr = dt.DtToJson();//即可转标准json(二)ps:普通dat...
分类:
Web程序 时间:
2015-07-30 23:10:15
阅读次数:
153
1 /* 2 * 由SharpDevelop创建。 3 * 用户: David Huang 4 * 日期: 2015/7/30 5 * 时间: 16:32 6 */ 7 using System; 8 9 namespace Lambda10 {11 class Program...
分类:
其他好文 时间:
2015-07-30 18:47:55
阅读次数:
117
最近不知道是不是服务器的IP被163的封了, 网站发送邮件发布出去, 所以想了个办法, 把邮件保存下来, 然后下载下来回复, 找了好多方法都不好用, 自己试了一些, 根据园里面的一些代码改写的, 实测可用先定义扩展方法:使用的framework版本为 .net 3.5namespace System...
分类:
Web程序 时间:
2015-07-30 18:46:51
阅读次数:
200