文章分类 - C#
摘要:一.类与结构的示例比较: 结构示例: public struct Person { string Name; int height; int weight public bool overWeight() { //implement something } } 类示例: public class TestTime { int hours; int minutes; int seconds; public void passtime() { //implementation of behavior } ...
阅读全文
摘要:abstract 修饰符用于表示所修饰的类是不完整的,并且它只能用作基类。抽象类与非抽象类在以下方面是不同的: 抽象类不能直接实例化,并且对抽象类使用 new 运算符是编译时错误。虽然一些变量和值在编译时的类型可以是抽象的,但是这样的变量和值必须或者为 null,或者含有对非抽象类的实例的引用(此非抽象类是从抽象类派生的)。 允许(但不要求)抽象类包含抽象成员。 抽象类不能被密封。 当从抽象类派生非抽象类时,这些非抽象类必须具体实现所继承的所有抽象成员,从而重写那些抽象成员。在下面的示例中abstractclassA{publicabstractvoidF();}abstractclassB:
阅读全文
摘要:引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事件对Observer设计模式的意义,对它们的中间代码也做了讨论。将方法作为方法的参数我们先不管这个标题如何的绕口,也不管委托究竟是个什么东西,来看下面这两个最简单的方法,它们不过是在屏幕上输出一句问
阅读全文
摘要:label1.Text = "2004-1-1 15:36:05"; label2.Text = "2004-3-1 20:16:35"; DateTime d1 =new DateTime(2004,1,1,15,36,05); DateTime d2 =new DateTime(2004,3,1,20,16,35); TimeSpan d3 = d2.Subtract(d1); label3....
阅读全文
摘要:同步方法调用在程序继续执行之前需要等待同步方法执行完毕返回结果 异步方法则在被调用之后立即返回以便程序在被调用方法完成其任务的同时执行其它操作 .NET框架基类库中有好几种类都可以提供同步和异步的方法调用。 因为同步方法调用会导致程序流程中途等待,所以采用同步方法的情况下往往会导致程序执行的延迟 相比来说,在某些条件下选择异步方法调用就可能更好一些 例如,有的时候程序需要给多个Web服务发出请求,...
阅读全文
摘要:C#中实现多继承的方式:混合+接口 有如下结构的代码: 其中Parent的ApplyEditable是一个Virtual方法,Child要对其进行各自不同的实现,即重写ApplyEditable方法。上述代码中,很明显ParentA和ParentB有重复代码。但是由于C#不支持多继承,所以无法使用多继承的方式把这些重复代码封装起来。我们只有走变通的道路:经过我的实践,使用混合+接口的方式。可以比较...
阅读全文
摘要:new关键字引起了大家的不少关注,尤其感谢Anders Liu的补充,让我感觉博客园赋予的交流平台真的无所不在。所以,我们就有必要继续这个话题,把我认为最值得关注的关键字开展下去,本文的重点是访问关键字(Access Keywords):base和this。虽然访问关键字不是很难理解的话题,我们还是有可以深入讨论的地方来理清思路。还是老办法,我的问题先列出来,您是否做好了准备。 • ...
阅读全文
摘要:前言 万事开头难,最近对这句话体会深刻!这篇文章是这个系列正式开始介绍设计模式的第一篇,所以肩负着确定这个系列风格的历史重任,它在我脑袋里默默地酝酿了好多天,却只搜刮出了一点儿不太清晰的轮廓,可是时间不等人,以后再多“迭代”几次吧!在前面的随笔里,我已经提到了,这个系列准备以《Head First Design Patterns》的结构为主线,所以每个模式的核心故事都是取材于此书,在此...
阅读全文
摘要:在 C# 中,new 关键字可用作运算符、修饰符或约束。 new 运算符 用于创建对象和调用构造函数。例如: Class1 o = new Class1(); new 运算符还用于调用值类型的默认构造函数。例如: int i = new int(); int i=0; new 修饰符 在用作修饰符时,new 关键字可以显式隐藏从基类继承的成员。隐藏继承的成员意味着该成员的派生版本将替换基类版本。...
阅读全文
摘要:C#常用的集合类型(ArrayList类、Stack类、Queue类、Hashtable类、SortedList类) 1.ArrayList类 ArrayList类主要用于对一个数组中的元素进行各种处理。在ArrayList中主要使用Add、Remove、RemoveAt、Insert四个方法对栈进行操作。Add方法用于将对象添加到 ArrayList 的结尾处;Remove方法用于从...
阅读全文
摘要:委托可能是C#最难理解的概念之一,但是由于其担当的重任以及在编程中的广泛应用,我们不得不,认真去研究。如何才能够掌握委托的概念、理解其精华所在呢?我之前学的时候也比较晕,看着看着就把自己给搞糊涂了,有的时候心烦的就彻底放弃了。当然认识委托每个人的方法不一样,每个人的感触也不一样。现在谈谈我自己的感受,希望能给大家一些帮助。只是个人见解,可能不恰当,希望诸位仁兄批评指正。 我们之前使用过抽象类、...
阅读全文
摘要:很简单的一个描述一下,试试看你能不能接受。 IList IList11 =new List (); List List11 =new List (); 这两行代码,从操作上来看,实际上都是创建了一个List对象的实例,也就是说,他们的操作没有区别。 只是用于保存这个操作的返回值变量类型不一样而已。 那么,我们可以这么理解,这两行代码的目的不一样。 List List11 ...
阅读全文
摘要:命名规范: 1.类命名规范:首字母大写,构成类名的每个单词首字母均大写。UserInfo 2.方法命名规范:与类要求一致,参数均小写; 3.类以及类成员的访问修饰符都必须注明 4.变量命名规范:首单词字母小写,后面单词的首字母大写,譬如userName 所有生命必须存在意义,除非是循环变量,不得使用i,j,k等方式命名。 全部建议使用英文命名,显得自己有英语底子,让总管看得过去,如果英语不好...
阅读全文
摘要:VSTS2005里面带了一个非常好的单元测试工具,据说很好,没用过。MS的产品和VS集成在一起,易用性是没得说。对于用惯了NUnit的人来说,这也不是一个非常充分的理由,非要从NUnit转换到VSTS的单元测试工具。本文讲述了如何将NUnit集成到VS2005中,算是给初学者或刚入门用NUnit的新手一个借鉴吧。 首先应说明的是,本文讲的“集成”,并不是以插件的形式将NUnit集成进VS。...
阅读全文
摘要:接口(interface) 简单地说接口就是一种对行为的契约或者规范。比如我们一说到“笔”,那么我们就知道它一定可以用来“书写”,而不管它是铅笔还是水笔,不管它是用木制的还是塑料制的。这里的“笔”就相当于一个契约(接口),它描述了“书写”这样一个行为。只要这个对象是“笔”,那么它就一定能“书写”(而不管对象具体是什么类型的东西)。正因为有了“笔”对“书写”行为的这样一个约定,所以当我们到商店里...
阅读全文
摘要://IDB.CS文件 namespace ConsoleApplication1 { interface IDB { string GetStr1(); string GetStr2(); } } //HZSQLServer.CS namespace ConsoleApplication1 { class HZSQLServer:ID...
阅读全文
摘要:先自己复习一下,看看下面的C#问题都能回答上来么? 1.静态变量和非静态变量的区别? 2.const 和 static readonly 区别? 3.extern 是什么意思? 4.abstract 是什么意思? 5.internal 修饰符起什么作用? 6.sealed 修饰符是干什么的? 7.override 和 overload 的区别? 8.什么是索引指示器? 9.new 修饰符是起什么...
阅读全文
摘要:private ArrayList SelCurNew() { ArrayList al = new ArrayList(); DateTime Dt = Convert.ToDateTime(DateTime.Now.ToShortDateString()); DateTime starDate = Dt; Date...
阅读全文
摘要:ShapDevelop配置: 1 在dos中进入到CSC.EXE所在目录 CD C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322 CSC 2 在系统变量里加入这个路径 我的电脑 属性 高级 环境变量 path ;C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322
阅读全文
摘要:1。普通。 using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { Stack s =...
阅读全文
浙公网安备 33010602011771号