先不论什么是闭包,什么是闭包陷阱,我们开篇先看一段代码:
csharpstatic void Main(string[] args)
{
List<Action> lists = new List<Action>();
for (int i = 0; i < 5; i++)
{
Action action = () => { Console.WriteLine(i); };
lists.Add(action);
}
foreach (var action in lists)
{
action();
}
Console.ReadLine();
}
那么思考一下,控制台输出是什么?
dynamic 是 Framework 4.0
就出现特性,它的出现让 C# 具有了弱语言类型的特性。编译器在编译的时候不再对类型进行检查,默认 dynamic 对象支持开发者想要的任何特性。
今天介绍一个非常强大的基于.Net 的基准测试工具BenchmarkDotNet。
BenchmarkDotNet 已经被14300多个项目采用,包括非常多的知名开源项目,例如
上一篇数据结构与算法 --- 排序算法(一)中,学习了冒泡排序,插入排序,选择排序这三种时间复杂度为 的算法。实时上 时间复杂度是非常高的,所以一般只适合小规模数据排序,那接下来,就在看一看时间复杂度为 的算法:归并排序和快速排序。