知识大全 使用基本类库

Posted

篇首语:知识就是飞上天的羽翼。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 使用基本类库相关的知识,希望对你有一定的参考价值。

  为了更好地理解C#与C++的区别和解决问题方式的变化 我们先来看一个比较简单的例子 我们将创建一个读取文本文件的类 并在屏幕上显示其内容 我将把它做成多线程程序 以便在从磁盘上读取数据时还可以做其他的工作   在C++中 我们可能会创建一个读文件的线程和另一个做其他工作的线程 这二个线程将各自独立地运行 但可能会需要对它们进行同步 在C#中 我们也可以完成同样的工作 由于 NET框架提供了功能强大的异步I/O机制 在编写线程时 我们会节省不少的时间   异步I/O支持是内置在CLR中的 而且几乎与使用正常的I/O流类一样简单 在程序的开始 我们首先通知编译器 我们将在程序中使用许多名字空间中的对象             usingSystem;            usingSystem IO;            usingSystem Text;   在程序中包含System 并不会自动地包含其所有的子名字空间 必须使用using关健字明确地包含每个子名字空间 我们在例子中会用到I/O流类 因此需要包含System IO名字空间 我们还需要System Text名字空间支持字节流的ASCII编码   由于 NET架构为完成了大部分的工作 编写这一程序所需的步骤相当简单 我们将用到Stream类的BeginRead方法 它提供异步I/O功能 将数据读入到一个缓冲区中 当缓冲区可以处理时调用相应的处理程序   我们需要使用一个字节数组作为缓冲区和回叫方法的代理 并将这二者定义为驱动程序类的private成员变量             publicclassAsynchIOTester                        privateStreaminputStream;            privatebyte[]buffer;            privateAsyncCallbackmyCallBack;   inputStream是一个Stream类型的变量 我们将对它调用BeginRead方法 代理与成员函数的指针非常相似 代理是C#的第一类元素   当缓冲区被磁盘上的文件填满时 NET将调用被代理的方法对数据进行处理 在等待读取数据期间 我们可以让计算机完成其他的工作 (在本例中是将 个整型变量由 增加到 但在实际的应用程序中 我们可以让计算机与用户进行交互或作其他有意义的工作 )   本例中的代理被定义为AsyncCallback类型的过程 这是Stream的BeginRead方法所需要的 System空间中AsyncCallback类型代理的定义如下所示             publicdelegatevoidAsyncCallback(IAsyncResultar);   这一代理可以是与任何返回void类型值 将IAsyncResult界面作为参数的方法相关联的 在该方法被调用时 CLR可以在运行时传递IAsyncResult界面对象作为参数 我们需要如下所示的形式定义该方法             voidOnCompletedRead(IAsyncResultasyncResult)   然后在构造器中与代理连接起来             AsynchIOTester()                        ???            myCallBack=newAsyncCallback(this OnCompletedRead);            cha138/Article/program/net/201311/15291

相关参考

知识大全 PHP如何调用JAVA 类库

PHP如何调用JAVA类库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  JAVA是个非常强大的

知识大全 一实用的Javascript类库(表格排序)

一实用的Javascript类库(表格排序)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  用法

知识大全 ASP.NET上的ReCAPTCHA类库

ASP.NET上的ReCAPTCHA类库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  reCA

知识大全 实用的15款开源PHP类库

实用的15款开源PHP类库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  &

知识大全 Java Base64类库学习笔记

JavaBase64类库学习笔记  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  JavaBase

知识大全 进入Harmony 世界,类库开发最佳实践

进入Harmony世界,类库开发最佳实践  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  年月日 

知识大全 绘制二维图像的开源类库ZedGraph

绘制二维图像的开源类库ZedGraph  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  大家好最近

知识大全 ADO.NET的一个帮助类库

ADO.NET的一个帮助类库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ADONET的一个帮

知识大全 从Java类库看设计模式

从Java类库看设计模式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  很多时候对于一个设计来说

知识大全 QTP调用自己开发的.net类库

QTP调用自己开发的.net类库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  我现在用的是QT