Welcome 微信登录

首页 / 软件开发 / C#

如何优化.NET的性能

如何优化.NET的性能

如何优化.NET的性能2007-09-271)避免使用ArrayList。 因为任何对象添加到ArrayList都要封箱为System.Object类型,从ArrayList取出数据时,要拆箱回实际的类型。建议使用自定义的集合类型代替ArrayList。.net 2.0提供了一个新的类型,叫泛型,这是一个强类型,使用泛型集合就可以避免了封箱和拆箱的发生,提高了性能。2)使用HashTale代替其他字典集合类型(如StringDictionary,NameV...
c#.NET中生成GUID

c#.NET中生成GUID

c#.NET中生成GUID2007-09-29GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成GUID的API。生成算法很有意思,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。GUID的唯一缺陷在于生成的结果串会比较大。”1. 一个GUID为一个128位的整数(16字节),在使用唯一标识符的情况下,你可以在所有计算机和网络之间使用这一整数。 2. GUID 的格式为...
WIN32中颜色值与.NET中颜色值(Color)的转换

WIN32中颜色值与.NET中颜色值(Color)的转换

WIN32中颜色值与.NET中颜色值(Color)的转换2007-09-29如果使用MFC与.NET混合编程,就会遇到这个问题,通过MFC编写的控件,由.NET调用,则控件中背景色的设置,需要颜色的转换。如果使用MFC与.NET混合编程,就会遇到这个问题,通过MFC编写的控件,由.NET调用,则控件中背景色的设置,需要颜色的转换。COLORREF类型颜色的值COLORREF cr=RGB(123,200,12); 其中的R、G、B三个分量的排列顺序是BGR...
Visual C#制做DLL

Visual C#制做DLL

Visual C#制做DLL2007-09-29作为软件设计和开发人员大都有过使用DLL(动态连接库)的经历,DLL的产生使得我们的应用程序在可维护性、代码的重复使用等方面都有了很大的提高。以前用的DLL一般都是用Visual C++、Delphi或者VB等编程语言来编写的,这种DLL的编写和使用,我们大都已经比较习惯了。作为新一代的程序开发语言--Visual C#,到底是如何编写和使用DLL的呢!本文就试着就这方面的问题来进行简单的介绍。 Visua...
C#编辑器csc.exe参数详解

C#编辑器csc.exe参数详解

C#编辑器csc.exe参数详解2007-09-29CSC.exe把Visual C#程序代码编译成IL文件时,有着很多参数和开关选项。正确的了解和运用这些参数和开关有时会解决一些看似很棘手的问题。下面就通过一张表来大致说明一下这些参数和开关的具体作用。这些参数和开关选项是按照字母顺序来排列的。其中带"*",是一些常用的参数或开关。选项 用途 @ * 指定响应文件。 /?, /help 在控制台的计算机屏幕上显示编译器的选项 /addm...
C#中使用Win32类库

C#中使用Win32类库

C#中使用Win32类库2007-09-29C# 用户经常提出两个问题:“我为什么要另外编写代码来使用内置于 Windows 中的功能?在框架中为什么没有相应的内容可以为我完成这一任务?”当框架小组构建他们的 .NET 部分时,他们评估了为使 .NET 程序员可以使用 Win32 而需要完成的工作,结果发现 Win32 API 集非常庞大。他们没有足够的资源为所有 Win32 API 编写托管接口、加以测试并编写文档,因此只能优先处...
C#的虚方法

C#的虚方法

C#的虚方法2007-09-28 本站 当类中的方法声明前加上了virtual修饰符,我们称之为虚方法,反之为非虚。使用了virtual修饰符后,不允许再有static,abstract,或override修饰符。对于非虚的方法,无论被其所在类的实例调用,还是被这个类的派生类的实例调用,方法的执行方式不变。而对于虚方法,它的执行方式可以被派生类改变,这种改变是通过方法的重载来实现的。下面的例子说明了虚方法与非虚方法的区别。程序清单14-3:using Sy...
在派生类中对虚方法进行重载

在派生类中对虚方法进行重载

在派生类中对虚方法进行重载2007-09-28 本站 先让我们回顾一下普通的方法重载。普通的方法重载指的是:类中两个以上的方法(包括隐藏的继承而来的方法),取的名字相同,只要使用的参数类型或者参数个数不同,编译器便知道在何种情况下应该调用哪个方法。而对基类虚方法的重载是函数重载的另一种特殊形式。在派生类中重新定义此虚函数时,要求的是方法名称、返回值类型、参数表中的参数个数、类型、顺序都必须与基类中的虚函数完全一致。在派生类中声明对虚方法的重载,要求在声明中...
C#的抽象类

C#的抽象类

C#的抽象类2007-09-28 本站 有时候,基类并不与具体的事物相联系,而是只表达一种抽象的概念,用以为它的派生类提供一个公共的界面。为此,C#中引入了抽象类(abstract class)的概念。注意:C++程序员在这里最容易犯错误。C++中没有对抽象类进行直接声明的方法,而认为只要在类中定义了纯虚函数,这个类就是一个抽象类。纯虚函数的概念比较晦涩,直观上不容易为人们接受和掌握,因此C#抛弃了这一概念。抽象类使用abstract修饰符,对抽象类的使用...
C#的抽象方法

C#的抽象方法

C#的抽象方法2007-09-28 本站 由于抽象类本身表达的是抽象的概念,因此类中的许多方法并不一定要有具体的实现,而只是留出一个接口来作为派生类重载的界面。举一个简单的例子,“图形”这个类是抽象的,它的成员方法“计算图形面积”也就没有实际的意义。面积只对“图形”的派生类比如“圆”、“三角形”这些非抽象的概念才有效,那么我们就可以把基类...
C#访问Hotmail

C#访问Hotmail

C#访问Hotmail2007-09-30仙人掌工作室POP邮件协议的优点在于它是一个开放的标准,有着完善的文档,这就使得编写POP邮件客户程序不那么困难,只要掌握了POP、SMTP的基础知识,就可以写出代理程序来执行各种任务,例如过滤广告和垃圾邮件,或提供e-mail自动应答服务。 Hotmail是世界上影响最广的Web邮件,遗憾的是,当我们要为Hotmail编写独立的客户程序(不通过浏览器访问的客户程序)时,马上就会遇到Hotmail不提供POP网关这...
用C#编写发手机中文短信息Windows服务

用C#编写发手机中文短信息Windows服务

用C#编写发手机中文短信息Windows服务2007-09-30 汕头海关大楼技术处软件科 林敏 最近在电脑城上买了一根NOKIA3210的数据线,玩了几天改LOGO、改铃声后也将数据线扔在一边。直到前几天在Http://oxygensoftware.com上看到有发手机短信息的二次开发控件,才想起多日不用的数据线,而且最近在学C#,觉得用C#做个发短信息的程序也不错,经过多天的测试,终于实现用电脑+数据线+手机的模式,实现在单位的局域网平台上发送短信息了...
如何用C#实现完整文档打印功能

如何用C#实现完整文档打印功能

如何用C#实现完整文档打印功能2007-09-30 在windows应用程序中文档的打印是一项非常重要的功能,在以前一直是一个非常复杂的工作,Microsoft .net Framework的打印功能都以组件的方式提供,为程序员提供了很大的方便,但是这几个组件的使用还是很复杂的,有必要解释一下。 打印操作通常包括以下四个功能1 打印设置 设置打印机的一些参数比如更改打印机驱动程序等2 页面设置 设置页面大小纸张类型等3 打印预览 类似于word中的打印预览...
[你必须知道的.NET] 第四回:后来居上:class和struct

[你必须知道的.NET] 第四回:后来居上:class和struct

[你必须知道的.NET] 第四回:后来居上:class和struct2007-10-01 博客园 Anytao1. 引言提起class和struct,我们首先的感觉是语法几乎相同,待遇却翻天复地。历史将接力棒由面向过程编程传到面向对象编程,class和struct也背负着各自的命运前行。在我认为,struct英雄迟暮,class天下独行,最本质的区别是class是引用类型,而struct是值类型,它们在内存中的分配情况有所区别。由此产生的一系列差异性,本文...
[你必须知道的.NET] 第三回:历史纠葛:特性和属性

[你必须知道的.NET] 第三回:历史纠葛:特性和属性

[你必须知道的.NET] 第三回:历史纠葛:特性和属性2007-10-01 博客园 Anytao1. 引言attribute是.NET框架引入的有一技术亮点,因此我们有必要花点时间走进一个发现attribute登堂入室的入口。因为.NET Framework中使用了大量的定制特性来完成代码约定,[Serializable]、[Flags]、[DllImport]、[AttributeUsage]这些的构造,相信我们都见过吧,那么你是否了解其背后的技术。提起...
.net基础知识错误注意二十二点知识

.net基础知识错误注意二十二点知识

.net基础知识错误注意二十二点知识2007-10-01秩名1:command调用存储过程的时候,如果输出是dataset,selectcommand的command对象的connection先要指出,否则catch一辈子也是空的..2:存储过程的varchar字段如果是x.x的这种格式,容易出现细微的傻错误,注意不要漏了[].3:如果ascx文件的默认服务器控件的事件不重写的话在control控件里面没有自动回送!切记.4:Page.RegisterOn...
<< 1 2 3 4 5 6 7 8 9 10 >>