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遍历。
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遍历。
相关文章推荐
- C#学习笔记(一)
- C#学习笔记
- C#学习笔记(三):抽象类和接口
- C#学习笔记(十):阴影和深度复制
- C#学习笔记(二):构造函数的执行序列
- C#学习笔记(十四):StatusBar控件
- C#学习笔记(二十):Windows应用程序安装部署概念
- C#学习笔记系列之三:工厂模式
- C#学习笔记(2)引用别人的c#.net常用函数和方法集
- C#学习笔记
- C#学习笔记(三)一元方法重载与二元方法重载
- C#学习笔记(二)
- C#学习笔记(一)
- C#学习笔记
- c#学习笔记(WinForm篇)
- C#学习笔记(二)
- C#学习笔记
- c#学习笔记
- C#学习笔记(四)中级 类 类的成员属性 只读属性和索引 再说索引
- C#学习笔记(五)(Winform窗体)(一)