您的位置:首页 > 编程语言 > C#

C#学习笔记(四)

2005-03-14 17:26 169 查看
1) C#中Array是对象。数组变量本身是参考类型的,建立在堆上。元素为参考类型的数组会被初始化为null,元素为数值类型的则会被初始化为默认值。

2) foreach关键字可以用来遍历数组。

3) params关键字可以让一个数组被作为一个参数,且调用时,可以直接使用多个数组成员。

4) 用type [] [] ... [] identifier来声明jagged array变量。[]中可以是rectangular array,每次只能规定一个维度的大小。

5) 数组转换:当数组间维度相同且元素可以转换(隐式或显式)时,数组可以转换。如果数组元素是参考对象,那可以向这些对象的基类数组转换。

6) System.Array的几个静态方法很有用,如Array.Sort()和Array.Reverse()等。

7) indexer用type this [ type argument ] {get; set;} 来定义,类似于property。索引可以是各种类型的,并可以多种类型并存。

8) IEnumerator接口可以使在类上使用foreach,必须实现GetEnumerator( )方法。建议使用单独的一个内部类来实现Enumerator类,这个内部类要实现MoveNext( )和Reset( )以及Current属性。

9) ICollection接口有Count, IsReadOnly, IsSynchronized, SyncRoot,一个public的方法,CopyTo( )。

10) IComparer接口提供Compare方法,Compare方法要调用CompreTo方法来实现,而CompareTo方法又需要实现IComparable接口。IComparable接口需要实现一个CompareTo( )方法。

11) IComparer使用:在一个实现了IComparable的类的内部建立一个Comparer类,实现Compare方法。如果有多个属性可供比较,还要添加ComparisonType枚举类型和相应的属性,并在IComparable类中实现相应的CompareTo方法。同时,IComparable类中可实现GetComparer方法。使用时,先设置ComparisonType的值,再作为参数给Sort方法。

12) Arraylist, Queue, Stack都有CopyTo和ToArray方法,CopyTo是复制到一个已有数组中,并覆盖后面的元素。ToArray则是申请一个新的数组,并复制过去。

13) 被用作Hashtable的Key的Object必须实现GetHashCode和Equals方法。

14) Item属性的声明:object this[object key]{get; set;} (用于IDictionary的访问)

15) IDictionary可以通过使用GetEnumerator方法得到IDictionaryEmumerator对象,可用foreach遍历。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: