2012年9月28日

静态类与静态类成员(转载)

摘要: 静态类与静态类成员静态类和类成员用于创建无需创建类的实例就能够访问的数据和函数。静态类成员可用于分离独立于任何对象标识的数据和行为:无论对象发生什么更改,这些数据和函数都不会随之变化。当类中没有依赖对象标识的数据或行为时,就可以使用静态类。 静态类类可以声明为 static 的,以指示它仅包含静态成员。不能使用 new 关键字创建静态类的实例。静态类在加载包含该类的程序或命名空间时由 .NET Framework 公共语言运行库 (CLR) 自动加载。使用静态类来包含不与特定对象关联的方法。例如,创建一组不操作实例数据并且不与代码中的特定对象关联的方法是很常见的要求。您应该使用静态类来包含那些 阅读全文

posted @ 2012-09-28 10:31 baixp2008 阅读(173) 评论(0) 推荐(0) 编辑

静态类和静态类成员(转载)

摘要: 静态类和静态类成员静态类静态类必须直接从基类System.Object派生,这是因为从其他基类型派生的类由于继承性仅适用于对象的缘故而没有任何意义,而且不能创建静态类的实例。 静态类不能实现任何接口,这是因为只有使用类的实例时才去调用类的接口。 静态类只能定义静态成员(字段、方法、属性和事件),任何实例成员都将导致编译器产生错误。 静态类不能用作字段、方法、参数或者局部变量,这是因为这些用法都将导致编译器错误。 下面的代码是静态类的范例,该类定义了一些静态成员;该代码可以通过编译(不过会出现警告信息),但这个类没有做任何有意义的事情。 usingSystem;public static cla 阅读全文

posted @ 2012-09-28 10:31 baixp2008 阅读(133) 评论(0) 推荐(0) 编辑

C# 参考之访问关键字:base、this(转载)

摘要: C# 参考之访问关键字:base、thisbasebase 关键字用于从派生类中访问基类的成员:调用基类上已被其他方法重写的方法。指定创建派生类实例时应调用的基类构造函数。基类访问只能在构造函数、实例方法或实例属性访问器中进行。示例:在派生类中调用基类方法。//base关键字//访问基类成员usingSystem;publicclassBaseClass{protectedstring_className="BaseClass";publicvirtualvoidPrintName(){Console.WriteLine("ClassName:{0}", 阅读全文

posted @ 2012-09-28 10:30 baixp2008 阅读(183) 评论(0) 推荐(0) 编辑

彻底学通string.Format以及IFormattable,IFormatProvider,ICustomFormatter

摘要: 彻底学通string.Format以及IFormattable,IFormatProvider,ICustomFormatter自从使用.net以来就一直都在使用string.Format方法,一直没有空或者其他原因都没有深入去了解,主要还是因为项目上似乎没有这么高的要求,也没必要去深入了解,就算碰到了自定义的格式化内容也是写几个通用的方法而已。今天空下来仔细去理解了一下,在这里和大家分享一下,也希望大家一起交流。string.Format方法是string类提供的静态方法,一般最多使用的是其两个参数的重载,例如:varname="Zhezhe";varmsg=string 阅读全文

posted @ 2012-09-28 10:29 baixp2008 阅读(185) 评论(0) 推荐(0) 编辑

面向对象编程OOP的三大特性

摘要: 面向对象编程OOP的三大特性面向对象的三个基本特征是:封装、继承、多态。 封装封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。继承面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。通过继承创建的新类称为“子类”或“派生类”。被继承的类称为“基类”、“父类”或“超类”。继承的过程,就是从一般到特殊的过程。要实现继承,可以通过“继承”(Inheritanc 阅读全文

posted @ 2012-09-28 10:22 baixp2008 阅读(357) 评论(0) 推荐(0) 编辑

IEnumerable 和 IEnumerator 接口

摘要: IEnumerable 和 IEnumerator 接口IEnumerator:提供在普通集合中遍历的接口,有Current,MoveNext(),Reset(),其中Current返回的是object类型。IEnumerable: 暴露一个IEnumerator,支持在普通集合中的遍历。IEnumerator<T>:继承自IEnumerator,有Current属性,返回的是T类型。IEnumerable<T>:继承自IEnumerable,暴露一个IEnumerator<T>,支持在泛型集合中遍历。1. 要使自定义的集合类型支持foreach访问,就要实 阅读全文

posted @ 2012-09-28 10:22 baixp2008 阅读(140) 评论(0) 推荐(0) 编辑

IEnumerable IEnumerator 接口

摘要: IEnumerable IEnumerator 接口一直以来,搞不懂IEnumerable与IEnumerator这两个接口的区别,今天看了一下MSDN并在网上搜了一把关于他们的区别,似乎理解了,但还是弄不懂他们最主要的区别是什么。看看MSDN是怎么定义他们的吧。 //公开枚举数,该枚举数支持在非泛型集合上进行简单迭代 public interface IEnumerable { //返回可循环访问集合的枚举数 IEnumerator GetEnumerator(); } //支持... 阅读全文

posted @ 2012-09-28 10:21 baixp2008 阅读(182) 评论(0) 推荐(0) 编辑

.NET学习之Foreach……

摘要: .NET学习之Foreach…… 对于.NET Framework提供的“标准”的集合类型可以直接使用foreach,如(Array、ArrayList、HashTable),除此之外,对于自定义的集合对象,也可以使其支持foreach的使用,只要实现IEnumerable接口即可(刚提到的几种集合类型都实现了这个接口)。先看个例子:publicclassHelloCollection:IEnumerable{publicIEnumeratorGetEnumerator(){yieldreturn"Hello";yieldreturn"World";}} 阅读全文

posted @ 2012-09-28 10:20 baixp2008 阅读(466) 评论(0) 推荐(1) 编辑

C#集合

摘要: C#集合System.Collections 命名空间包含接口和类,这些接口和类定义各种对象(如列表、队列、位数组、哈希表和字典)的集合。System.Collections.Generic 命名空间包含定义泛型集合的接口和类,泛型集合允许用户创建强类型集合,它能提供比非泛型强类型集合更好的类型安全性和性能。System.Collections.Specialized 命名空间包含专用的和强类型的集合,例如,链接的列表词典、位向量以及只包含字符串的集合。 在System.Collections命名空间中提供了许多接口:IEnumerable循环集合项目 ICollection可以获取集合中项目 阅读全文

posted @ 2012-09-28 10:19 baixp2008 阅读(228) 评论(0) 推荐(0) 编辑

定义泛型集合的命名空间:System.Collections.Generic

摘要: 定义泛型集合的命名空间:System.Collections.Generic本章导读System.Collections.Generic和System.Collections集合的结构有很多相似之处,不同的是“Generic”提供的都是泛型集合,而“Collections”中的集合并不都支持泛型。System.Collections.Generic是在C# 2.0中新加的命名空间,主要用来创建强类型集合,以提高类型安全和操作性能。本章的讲解流程如图8-1所示。图8-1 System.Collections.Generic的讲解流程8.1 System.Collections.Generic简介 阅读全文

posted @ 2012-09-28 10:18 baixp2008 阅读(589) 评论(0) 推荐(0) 编辑

导航