C#笔记三:类-对象-结构-方法-函数-属性-数组等整理
时间:2011-03-17 来源:子路
类是一种数据结构,可包含数据成员(常量和域),函数成员(方法,属性,事件,索引器,运算符,函数)和嵌套机制。
目前大多数编程语言都是面向对象【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名称空间
View Code namespace arraylist2{
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部分,有必要去看看数据结构中的哈希表详细解说