相忘于江湖

不抛弃,不放弃... 请给我勇敢,改变可以改变的;请给我坚强,接受不可以改变的;请给我智慧,分辨这两者。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 2 3 4 5 6 7 8 9 10 ··· 31 下一页

2011年5月16日

摘要: C#中的继承分为实现继承和接口继承,今天主要谈一下实现继承。 实现继承表示一个类型派生于另一个基类型,该类型拥有基类型的所有成员字段和函数。在实现继承中,派生类型的每个函数采用基类型的实现代码。——摘自《C#高级编程第六版》92页 为什么要使用类继承呢,举个小例子,假如说我们之前有个类叫Peoplo(人类),他具有身高、体重等属性,同时还具有吃饭、睡觉等方法,可是由于科技的进步人们又发明了机器人(Robot),它不但可以像人类那样具有身高、体重,还能够吃饭、睡觉外,它还具备人类所不具备的功能,例如机器人可以下潜到1000以下的深水中,如果没有继承,我们在定义Robot这个类的时候就得重复定义p 阅读全文
posted @ 2011-05-16 10:05 playman0211 阅读(364) 评论(0) 推荐(0) 编辑

2011年5月5日

摘要: 共同点: IList, List , ArrayList 通俗一点来讲就是广义的数组,C#里面称之为集合。不同于一般的狭义的数组,它们可以存放任意类型的东西,在申明或者赋值的时候指定。比如你写了一个类 Cake,然后想有一个结构来存放很多Cake的实例,那就可以用他们。 区别: IList与List 通俗一点讲,只能存放同一类型的元素。 比如声明的时候 声明为List<Cake> cakes=new List<Cake>();那么就只能用放cake的实例。 在从cakes这个变量中取出元素的时候,取到的直接就是Cake类型。不需要做强行的转换。 如果想要让一个‘数组’存 阅读全文
posted @ 2011-05-05 14:00 playman0211 阅读(10394) 评论(0) 推荐(0) 编辑

2011年5月3日

摘要: TcpSend窗口用于发送消息,另外写一个用于接收消息的应用程序,消息接受到以后,必须要关闭接收消息的窗口,才能在接收新的消息,不知道怎么能解决这个问题。源代码:发送消息的窗口代码using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Net;using System.Net.Sockets;using Syst 阅读全文
posted @ 2011-05-03 09:27 playman0211 阅读(3394) 评论(0) 推荐(0) 编辑

2011年4月29日

摘要: FlyTcpFramework源于网上很流行的一个C#异步TCP通讯类库,我进行了一些整理和功能上的扩充,加入了文件传输的功能,并制作了一个MSDN风格的手册。类图:使用方法:下载源码并打开源码解决方案,解决方案中包含四个项目:FlyTcpFramework:类库ppCLient:PDA客户端DemoPPServer:服务器端DemoWInClient:WInForm客户端Demo修改PPserver中监听的IP地址,运行PPserver,输入start开始监听;运行WinClient,修改文本框中的IP,点击Connect,下面就可以测试发送文本发送文件了,服务器端的逻辑是返回客户端发送的文 阅读全文
posted @ 2011-04-29 17:01 playman0211 阅读(716) 评论(0) 推荐(0) 编辑

2011年4月28日

摘要: C#读写者线程(用AutoResetEvent实现同步)1. AutoResetEvent简介通知正在等待的线程已发生事件。无法继承此类。常用方法简介:AutoResetEvent(bool initialState):构造函数,用一个指示是否将初始状态设置为终止的布尔值初始化该类的新实例。 false:无信号,子线程的WaitOne方法不会被自动调用 true:有信号,子线程的WaitOne方法会被自动调用public bool Reset ():将事件状态设置为非终止状态,导致线程阻止;如果该操作成功,则返回true;否则,返回false。 public bool Set ():将事件状态 阅读全文
posted @ 2011-04-28 15:56 playman0211 阅读(324) 评论(0) 推荐(0) 编辑

摘要: 在C#里现在有3个Timer类:•System.Windows.Forms.Timer•System.Threading.Timer•System.Timers.Timer这三个Timer我想大家对System.Windows.Forms.Timer已经很熟悉了,唯一我要说的就是这个Timer在激发Timer.Tick事件的时候,事件的处理函数是在程序主线程上执行的,所以在WinForm上面用这个Timer很方便,因为在From上的所有控件都是在程序主线程上创建的,那么在Tick的处理函数中可以对Form上的所有控件进行操作,不会造成WinForm控件的线程安全问题。1、Timer运行的核心都 阅读全文
posted @ 2011-04-28 15:55 playman0211 阅读(451) 评论(0) 推荐(0) 编辑

摘要: .NET Framework中为我们提供了3种类型的Timer,分别是: Server Timer(System.Timers.Timer),Thread Timer(System.Threading.Timer )和Windows Timer(System.Windows.Forms.Timer)。 其中Windows Timer和WinAPI中的Timer一样,是基于消息的,而且是单线程的。另外两个Timer则不同于Windows Timer,它们是基于ThreadPool的,这样最大的好处就是,产生的时间间隔准确均匀。Server Timer和Thread Timer的区别在于,Serv 阅读全文
posted @ 2011-04-28 15:52 playman0211 阅读(342) 评论(0) 推荐(0) 编辑

摘要: ·关于C#中timer类 在C#里关于定时器类就有3个1.定义在System.Windows.Forms里2.定义在System.Threading.Timer类里3.定义在System.Timers.Timer类里System.Windows.Forms.Timer是应用于WinForm中的,它是通过Windows消息机制实现的,类似于VB或Delphi中的Timer控件,内部使用API SetTimer实现的。它的主要缺点是计时不精确,而且必须有消息循环,Console Application(控制台应用程序)无法使用。System.Timers.Timer和System.Thr 阅读全文
posted @ 2011-04-28 15:51 playman0211 阅读(421) 评论(0) 推荐(0) 编辑

2011年4月26日

摘要: 在创建列表类时,列表项的数据类型可能是int、string或其他类型,但不管是什么类型,如果对列表类的处理方法相同,就没有必要事先指定数据类型,留待列表类实例化时再指定。这相当于把数据类型当成参数,可以最大限度地重用代码、保护类型的安全以及提高性能。泛型将类型参数(type parameter)的概念引入.NET Framework,通常使用T作为泛型类型参数。ArrayList是非泛型集合类,添加到ArrayList中的任何引用或值类型都将隐式地向上强制转换为Object。如果项是值类型,则必须在将其添加到列表中时进行装箱操作,在检索时进行拆箱操作。另一个限制是缺少编译时类型检查,因为Arr 阅读全文
posted @ 2011-04-26 10:02 playman0211 阅读(814) 评论(0) 推荐(0) 编辑

摘要: 1.WinForm下的ComboBox默认是以多行文本来设定显示列表的, 这通常不符合大家日常的应用, 因为大家日常应用通常是键/值对的形式去绑定它的.那么用键值对的形式如何做?因为Combox的每一个项的值是一个object, 实际上就是一个键/值对.我用的是下面这个类的实例作为它的一个项: /// <summary> /// ComboBox的项 /// </summary> class ListItem : System.Object { private string _Value = string.Empty; private string _Text = st 阅读全文
posted @ 2011-04-26 09:38 playman0211 阅读(1041) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 9 10 ··· 31 下一页