06 2012 档案

Stream Part.3
摘要:为何介绍TextWriter? 就像上篇讲述的一样,对于重要的基础技术,一定要刨根问底,这样在面对将来可能很复杂的业务或技术时才能游刃有余,甚至可以创新出新的解决方案,言归正传,想了解StreamWriter 必须了解其父亲TextWriter的结构和使用方法。 那么微软为什么要创建立这个抽象类呢?看下图 的确可以这样理解C,C++ ,XAML,Html一切可以写在文本上写的语言都可以用Text这个词在抽象,(千万别小看记事本,它才是元老)。 今后我们可以自定义一些自己Writer类来实现我们特定的写功能。现在我们只要理解TextWriter是一个抽象的文本写入器,可以在文本上写入我们想要的格 阅读全文

posted @ 2012-06-29 16:59 SkySoot 阅读(405) 评论(0) 推荐(0) 编辑

Stream Part.2
摘要:什么是 TextReader ? TextReader是一个对于Text的读取器,可是又是怎么读取的呢?当然是通过连续的字符进行读取。 为什么在介绍StreamReader之前,要搞这个东东? 答案其实很简单:他们两个就是父子关系。TextReader 的常用属性和方法 想象一下 Text 这个词的范围,它囊括了许多的文件类型,我们可以在记事本上使用任何语言(英语,中文,c# ,天书,javascript,jquery,xml,xaml,sql,c++……),如此多的语言文本归根结底还是通过一个个char组成的,所以微软构造出了TextReader这个抽象类。对于TextReader我们无法直 阅读全文

posted @ 2012-06-29 15:48 SkySoot 阅读(310) 评论(0) 推荐(0) 编辑

Stream Part.1
摘要:什么是Stream?MSDN: 提供字节序列的一般视图。(我可不想这么理解,这必定让我抓狂,我理解的流是向自然界的河流那样清澈而又美丽,c#中的流也是一样,许多技术或者说核心技术都需要流的帮忙)什么是字节序列?其实简单的来理解的话字节序列指的是: 字节对象都被存储为连续的字节序列,字节按照一定的顺序进行排序组成了字节序列关于流的解释可以抽象为下列情况: 一条河中有一条鱼游过,这个鱼就是一个字节,这个字节包括鱼的眼睛,嘴巴,等组成8个二进制,显然这条河就是我们的核心对象:流c# 的 Stream 是如何使用的Stream 类有一个protected 类型的构造函数, 但是它是个抽象类,无法直接使 阅读全文

posted @ 2012-06-29 14:26 SkySoot 阅读(433) 评论(0) 推荐(0) 编辑

微软示例代码 for ManualResetEvent
摘要:ManualResetEvent 用于线程同步,通知一个或多个线程某事件已经发生,通常用于一个线程执行的任务必须在其他线程的任务执行之前完成。 状态分为两种:终止状态和非终止状态。当某一任务完成时,将ManualResetEvent设置为终止状态,这样其他等待的线程(一个或多个)将开始执行自己的任务。 一旦它被终止,它将保持终止状态,... 阅读全文

posted @ 2012-06-28 16:47 SkySoot 阅读(467) 评论(0) 推荐(0) 编辑

AutoResetEvent and ManualResetEvent
摘要:AutoResetEvent and ManualResetEvent 的初始化 两者初始化时可以接受一个 bool 类型值作为构造函数的参数. false: 无信号 (非终止状态) true: 有信号 (终止状态) /// <summary> /// 注释为程序执行流 /// </summary> public partial class Form1 ... 阅读全文

posted @ 2012-06-28 16:26 SkySoot 阅读(431) 评论(0) 推荐(0) 编辑

Thread.Join() 方法
摘要:MSDN:Blocks the calling thread until a thread terminates 1. 什么是 the calling thread? 2. 什么是 a thread? 运行一个程序,即开启了一个进程和至少一个线程,干活的是线程而非进程!the calling thread 我们可以认为是MainThread(或者调用线程的线程,是不是有点绕?呵呵),a... 阅读全文

posted @ 2012-06-27 16:29 SkySoot 阅读(33524) 评论(2) 推荐(2) 编辑

使用委托异步调用方法让程序并行运行
摘要:通常情况下,如果需要异步执行一个耗时的操作,我们会新起一个线程,然后让这个线程去执行代码。但是对于每一个异步调用都通过创建线程来进行操作显然会对性能产生一定的影响,同时操作也相对繁琐一些。.NET 中可以通过委托进行方法的异步调用,就是说客户端在异步调用方法时,本身并不会因为方法的调用而中断,而是从线程池中抓取一个线程去执行该方法,自身线程(主线程)在完成抓取线程这一过程之后,继续执... 阅读全文

posted @ 2012-06-27 14:02 SkySoot 阅读(894) 评论(0) 推荐(1) 编辑

获取 GIF 图片的帧数
摘要:using System.Drawing;using System.Drawing.Imaging;namespace WindowsFormsApplication1{ public partial class Form1 : Form { private void button1_Click(object sender, EventArgs e) { string imgPath = @"d:\test2.gif"; Bitmap bmp = new Bitmap(imgPath); ... 阅读全文

posted @ 2012-06-27 12:29 SkySoot 阅读(1507) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示