C#
Alvin-Qu
无聊教师 养猫专业户 美女爱好者 理想主义懒虫
展开
-
C#基本线程同步
0 概述上一章我们了解了多个线程可以“同时”运行代码(我们称为“异步运行”),这一章我们来研究为什么异步运行的线程需要同步?所谓同步,就是给多个线程规定一个执行的顺序(或称为时序),要求某个线程先执行完一段代码后,另一个线程才能开始执行。第一种情况:多个线程访问同一个变量:一个线程写,其它线程读:这种情况不存在同步问题,因为只有一个线程在改变内存中的变量,内存中的变量在任意时刻原创 2010-04-12 17:52:00 · 13407 阅读 · 42 评论 -
C#的Object类
在C#中,有一个特殊的类型Object类。这个类是C#中所有其它类的超类。我们知道,C#只允许单继承,也即每一个类都可以有唯一的一个超类。本章我们重新定义:所有的C#类有且只有一个超类。如果一个类没有显式指定,则C#以Object类作为其超类。所以所有的类都会直接或者间接的继承Object类。定义Object类的作用:1、向所有的类引入一些关键方法;2、可以让任意类的对象都引用到Objec原创 2010-03-23 00:21:00 · 5140 阅读 · 0 评论 -
C#委托
Delegate,委托(或代理)是这样一种数据类型:它的变量可以引用到某一个符合要求的方法上,通过委托可以间接地调用该方法。C#的委托类似于C语言的函数指针,区别在于C#的委托是面向对象的。我们可以这样认为:在纯粹的面向对象语言C#中,方法也是一种特殊对象,对象的行为就是方法的行为,对象的属性是方法的返回值和参数列表。既然可以将方法认定为对象,那该对象也可以抽象出类来。这个类,就是Dele原创 2010-03-14 02:00:00 · 7460 阅读 · 8 评论 -
C#接口
学习过C++的童鞋都应该知道,在C++中允许将一个类的成员函数定义为virtual(虚拟函数),定义为虚拟的函数,例如:class CTest{public: virtual void TestA(); virtual void TestB() = 0;}; void CTest::TestA(){ cout<<"Hello"<<endl;}原创 2010-03-19 00:35:00 · 1475 阅读 · 1 评论 -
C# 4.0的一些新特性
C# 4.0的一些新特性转载 2010-06-22 00:29:00 · 796 阅读 · 0 评论 -
C#中的值类型和引用类型
和C++不同,在C#中,bool,char,int,long,double等也是类,一个数字例如24,就是int类型的一个对象,例如: string s = 24.ToString();我们调用了24的ToString方法,从这种我们熟悉的语法现象上可以看出,24是一个对象,它有自己的方法。一、元类型.net平台有一种很有意思的机制,叫做数据类型原创 2010-03-22 00:42:00 · 1753 阅读 · 0 评论 -
C#中的ICollection接口
一、集合类:1.1 ICollection接口前面我们学习了数组,这是.net Framework定义的最基本的集合类型,除过数组外,.net Framework还另外定义了很多集合类型以满足编程的需要。常见的集合有:向量;链表;双端队列;栈;树;Hash表;Hash映射。所有的这些集合类型,在.net Framework中都必须实现一个重要的接原创 2010-03-26 01:02:00 · 12359 阅读 · 0 评论