自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (2)
  • 收藏
  • 关注

原创 c#多线程之mutex,semaphore,autoresetevent,manualResetevent

mutex,semaphore,autoresetevent,manualResetevent四个类都继承自waitHandle类,其中autoresetevent,manualResetevent都继承自EventWaitHandle,且EventWaitHandle的构造函数提供了一个入参EventResetMode来设置为manualreset还是autoreset,故我们只需查看mutex

2012-11-17 13:16:01 3928

原创 c#多线程之monitor和lock

monitor关键字可以锁定对象,lock为互斥锁,可以锁代码,但二者的实质一样的,lock也是使用monitor的enter和exit实现的,实质上只是将该对象作为一个标识而已,当一个线程尝试进入到被lock或monitor锁住的代码,都需要把当前lock对象和已存在的锁对象进行一一对比,使用object.referenceEquals()。monitor类所以名义上说的是锁一个对象,但实际

2012-11-15 17:09:33 726

原创 一个依赖项属性的应用

一种应用方法是使用依赖项属性代替INotifyPropertyChanged接口,将界面绑定的数据源属性声明为依赖项属性,就可以自动更新到界面了,使用了wpf的内置机制,之前有一篇文章写了一个例子。今天写的应用是重写一个控件,新空间使用依赖项属性来扩展wpf内置控件的功能,不过我的这个控件更多是为了方便使用,类似于是老控件的一个对象,只用于某种特殊的表示方式,来源于一道面试题,两个combob

2012-10-02 12:01:35 2251

原创 wpf 依赖项属性

UI软件中经常会用到大量的控件,而每一个控件都是一个对象,每一个类都会有大量的属性,如果没创建一个对象就将所有的属性都创建出来,无非会占用大量的内存,wpf使用依赖项属性来提升了性能。查看任何一个控件的定义,以button为例,都会发现类内包含大量的依赖性属性定义,注意到其中DependencyProperty都是static readonly的,而每一个依赖项属性都会有一个去掉“Proper

2012-10-01 22:35:17 4688

原创 随笔记录

C++中的函数调用入参和返回值均会拷贝一份,不管指针还是值,区别的是指针不管怎么拷贝他的值(指向的地址)不变,所以使用指针能够改变原值。const 值类型和非值类型可以任意赋值,但是const指针类型和非指针类型却不可以,如:    int it=3;    const int it_c=it;    int tt=it_c;编译通过    int it=3;

2012-09-14 15:18:11 579

原创 c# 代理 事件

.net中包括两个Delegate类,一个是Delegate,一个是MulticastDelegate,其中后者继承自前者,但两者皆为抽象类,且后者为隐式sealed,不能继承,也就是不能创建实例,那么要想创建代理类应该怎么做呢,net提供了delegate关键字,使用该关键字标示的类型会被编译器自动编译为继承自multicastDelegate的类,见如下截图multicastdel

2012-09-12 14:05:56 523

原创 快速排序c#

都说快速排序是冒泡排序的改进,说实话,这点我还真不太明白,貌似两者没有直接关系啊,不知道改善的入手点是哪里,不管怎样,先来看看算法吧。 思路:将一个数组一分为二,一个部分均比另一部分小,然后再分别对两部分进行排序,依此类推,即可完成排序。 算法:using System;using System.Collections.Generic;using System.Text;

2010-05-29 15:39:00 379

原创 迭代器和组合模式

迭代器:当一个类A要将两个类B,C包含的内容整合到一起,而这两个类的内容使用不同的数据结构时,例如一个是数组,一个是List解决方法就是将分别将B,C中的内容提取出来到一个新的结构中,如果这个事情由A来做:A需要知道B,C内部的具体实现,代码如下:    class C    {        C()        {            for (int i = 0; i   

2010-05-23 19:23:00 790 1

原创 我做的对吗

今天终于给那家公司反馈了,没有去。原因是薪资太低。可是我的心里并没有轻松,我不知道我做的对不对,我还是没有弄明白自己要的是什么。我从工作就开始做外包,两年了,做的很腻了,很多时候觉得不是在做项目,很多时候没有自主权,学的东西也很少,很想跳出去,不再做了。可是为什么这个机会我不要?因为公司小,因为公司新,因为薪水太低?其实这并不能说服我自己,我渴望做自己的项目,自己的创意,自己搭框架,自己做设计,这

2010-05-21 22:44:00 583 2

原创 .Net垃圾回收机制初探

今天终于搞明白了一些,先记下,免得忘了。需要了解的概念(转自http://blog.sina.com.cn/s/blog_5aeeb8200100blua.html):a.其中托管资源一般是指被CLR控制的内存资源,这些资源的管理可以由CLR来控制,例如程序中分配的对象,作用域内的变量等。b.而非托管资源是CLR不能控制或者管理的部分,这些资源有很多,比如文件流,数据库的连接,系统的窗口句

2010-05-16 00:44:00 1316 1

原创 .Net中代理和事件的区别

今天看书分别看了一下这两章,以下仅是自己总结的区别,不全面。1.事件是特殊的代理,特殊之处在于参数。事件的参数是object 和一个继承自EventArgs的参数。如果参数不符仍然使用event关键字标识,编译器会给出warning。2.事件使用event关键字标示,编译器将public event EventHandler NewMail=null;这行代码编译为以下三个结构:1.p

2010-05-09 11:26:00 1397

原创 WPF中的依赖项属性

已经学习了好几天了,一个小例子让我豁然开朗,以下是我个人的一点理解:由于WPF由XAML文件和c#文件组成的,c#负责逻辑处理,所以很多控件属性就会别修改,此时我们希望他能够反映到界面上,依赖项属性就能够做到这点。当然系统的控件的一般的属性都是依赖性的,我们不必担心,但在数据绑定的时候,我们会经常绑定到对象,这就要求对象的属性变化是也要通知到对象。通常可以采用PropertyChangedEv

2008-09-03 16:51:00 3796 6

原创 C#中三维正交数组的创建

开始时搞不懂初始化顺序,后来成功了,就顺手记录下来.首先应该知道数组是一个类,类是引用类型,那么初始化就应该用new,否则就不分配内存,只是一个名字而已。先想一想二维正交数组:  int[][] smallarray = new int[2][];  smallarray[0] = new int[2];  smallarray[1] = new int[3];此时如果将后两句屏蔽

2008-05-05 14:33:00 1606

断点异常调试

断点异常调试断点异常调试

2009-03-15

正常调试断点

正常调试断点,正常调试断点

2009-03-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除