摘要: 控制某个类型的实例数量-唯一一个 第一个哈希值相同,表明是一个实例; 第二个不同 阅读全文
posted @ 2016-06-15 14:56 shinchan 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 线程的优先级并不是你想象的先执行哪个后执行哪个而是所有的线程不论优先级高低都会执行,优先级越高表示CPU分配给该线程的时间片越多,执行时间就多优先级越低表示CPU分配给该线程的时间片越少,执行时间就少 阅读全文
posted @ 2016-06-13 16:30 shinchan 阅读(529) 评论(0) 推荐(0) 编辑
摘要: 思想//GroupBy+ToDictionary实现Dictionary<> 阅读全文
posted @ 2016-05-30 14:59 shinchan 阅读(1066) 评论(0) 推荐(0) 编辑
摘要: //希尔排序 static int[] ShellSort(int[] array) { if (array != null) { int[] list = { 9, 5, 3, 2, 1 }; foreach (int k in lis... 阅读全文
posted @ 2016-05-30 13:43 shinchan 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 如果匿名方法(Lambda表达式)引用了某个局部变量,编译器就会自动将该引用提升到该闭包对象中。 即将for循环中的变量i修改成了引用闭包对象的公共变量i。这样一来,即使代码执行后离开了原局部变量i的作用域(如for循环),包含该闭包对象的作用域也还存在。 推荐:局部变量不要同时放入匿名方法内,防止 阅读全文
posted @ 2016-05-30 10:36 shinchan 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 对象初始化器 在没有对象初始化器之前,我们创建一个对象大概需要经过这么两个步骤,首先new一个对象,然后给每个字段赋值。而有了对象初始化器之后,原本需要几行代码才能完成的任务变成一行代码就可以完成,简化了代码,也使代码更优雅 //原来写法Person person = new Person();pe 阅读全文
posted @ 2016-05-30 09:35 shinchan 阅读(239) 评论(0) 推荐(0) 编辑
摘要: C#编译一个dll,比如命名空间为Csharp,里面有个类A,字段x,产生一个Csharp.dll C++ 配置,让C++支持CLR C++调用方法: #include <iostream> #using "Csharp.dll"//#using 调用dll using namespace Csha 阅读全文
posted @ 2016-05-28 16:11 shinchan 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 使用 Random 产生随机数。(这是一种伪随机数,需要seed,同一个seed后,采用某种算法产生的数字序列都是一样的) 两种写法 错误 for(int i=0;i<100;i++) { Random rand = new Random(); Console.WriteLine(rand.Next 阅读全文
posted @ 2016-05-28 14:36 shinchan 阅读(1178) 评论(0) 推荐(0) 编辑
摘要: 1定义:委托=函数指针 C# public delegate void Test(string str); 等价C++ public void (*Test)(string str); 委托赋值(初始化)和使用: 一个实体函数 :public void show(string str){//略} T 阅读全文
posted @ 2016-05-28 08:57 shinchan 阅读(164) 评论(0) 推荐(0) 编辑
摘要: System.Diagnostics下类Stopwatch,给程序代码块运行计时, 利用start()和stop()方法来标记代码快。 该命名空间下还有一些其他类,可以对程序进行诊断(diagnosis)。 阅读全文
posted @ 2016-05-27 18:25 shinchan 阅读(296) 评论(0) 推荐(0) 编辑