类是一种数据结构,可包含数据成员(常量和域),函数成员(方法,属性,事件,索引器,运算符,函数)和嵌套机制。
目前大多数编程语言都是面向对象【OOP】---object oriented programming 以前的语言是面向过程的
以前:程序=算法+数据结构
现在:程序=对象+对象+对象...... 对象=算法+数据结构
很明显的,面向对象更加利于代码的重用和维护,对象具有封装,继承和多态
这里简单说下多态: 不同的类之间可以相同的操作,但是行为不同(例如汽车和火车都可以移动,但是火车在铁轨上,汽车在公路上)
我的理解:类是抽象化的对象集合,集合了对象的相同特征
结构是一种值的类型,用来封装一组相关的变量,它与类相似,但是限制更多,不支持继承(类支持单继承)
类和结构可以包含--属性和方法(属性一般用 get-set访问器来定义,方法和函数一样,静态方法【不能操作特定实例】不能用this 访问,非静态则可以
一维数组,二维数组中(大一的矩阵可以方便理解)
一维数组长度计算: arr.Length 二维: 行=arr.Rank 列=arr.GetUpperBound(arr.Rank-1)+1
ArrayList, 有了强大的数值,为什么还需要ArrayList呢?
1:ArrayList可以自动扩充容量,数组固定
2:ArrayList 可以增删插某一范围的方法,数组只能单个操作
3:ArrayList提供将只读和固定大小包装返回到集合的方法,数组不能
缺点:ArrayList只能是一维的
个人感觉:arraylist和数组互补,都无法取代,使用arraylist需要调用 System.Collections名称空间
{
class Program
{
static void Main( string [] args)
{
// 下面将列出arraylist的Clear,Remove和RemoveAt,RemoveRange方法
int [] arr = new int [ 9 ] { 1 , 2 , 3 , 5 , 6 , 7 , 89 , 12 , 120 };
ArrayList list = new ArrayList(arr);
Console.WriteLine( " 原arraylist集合: " );
foreach ( int i in list)
Console.Write(i + " " );
Console.WriteLine();
Console.WriteLine(list.Contains( 2 )); // 查找集合里面是否含有数组2
list.Remove( 5 ); // 删除集合里面含有5的值
foreach ( int i in list)
Console.Write(i + " " );
Console.WriteLine();
list.RemoveAt( 1 ); // 删除索引为1的位置的值
foreach ( int i in list)
Console.Write(i + " " );
Console.WriteLine();
list.RemoveRange( 5 , 2 ); // 从索引为5的位置删除2个元素
foreach ( int i in list)
Console.Write(i + " " );
Console.WriteLine();
Console.WriteLine(list.Contains( 2 ));
list.Clear(); // 清空集合里面的所有元素
foreach ( int i in list)
Console.Write(i + " " );
Console.WriteLine();
Console.ReadKey();
}
}
}
Hashtable部分,有必要去看看数据结构中的哈希表详细解说