zoukankan      html  css  js  c++  java
  • 《C#高级编程(第6版)》第5章筆記第5章数 组

    数    组

    如果需要使用同一类型的多个对象,就可以使用集合和数组。C#用特殊的记号声明和使用数组。Array类在后台发挥作用,为数组中元素的排序和过滤提供了几个方法。

    简单数组
    在声明数组时,应先定义数组中元素的类型,其后是一个空方括号和一个变量名。
    声明了数组后,就必须为数组分配内存,以保存数组的所有元素。数组是引用类型,所以必须给它分配堆上的内存。为此,应使用new运算符,指定数组中元素的类型和数量来初始化数组的变量。

    访问数组元素
    数组在声明和初始化后,就可以使用索引器访问其中的元素了。数组只支持有整型参数的索引器。

    使用引用类型
    不但能声明预定义类型的数组,还可以声明定制类型的数组。

    多维数组
    一般数组(也称为一维数组)用一个整数来索引。多维数组用两个或多个整数来索引。

    锯齿数组
    而锯齿数组的大小设置是比较灵活的,在锯齿数组中,每一行都可以有不同的大小。
    在声明锯齿数组时,要依次放置开闭括号。在初始化锯齿数组时,先设置该数组包含的行数。定义各行中元素个数的第二个括号设置为空,因为这类数组的每一行包含不同的元素数。

    Array类
    用括号声明数组是C#中使用Array类的记号。在后台使用C#语法,会创建一个派生于抽象基类Array的新类。这样,就可以使用Array类为每个C#数组定义的方法和属性了。
    创建数组
    Array类是一个抽象类,所以不能使用构造函数来创建数组。但除了可以使用C#语法创建数组实例之外,还可以使用静态方法CreateInstance()创建数组。如果事先不知道元素的类型,就可以使用该静态方法,因为类型可以作为Type对象传送给CreateInstance()方法。

    复制数组
    因为数组是引用类型,所以将一个数组变量赋予另一个数组变量,就会得到两个指向同一数组的变量。而复制数组,会使数组实现ICloneable接口。这个接口定义的Clone()方法会创建数组的浅副本。

    除了使用Clone()方法之外,还可以使用Array.Copy()方法创建浅副本。但Clone()方法和Copy()方法有一个重要区别:Clone()方法会创建一个新数组,而Copy()方法只是传送了阶数相同、有足够元素空间的已有数组。

    如果需要包含引用类型的数组的深副本,就必须迭代数组,创建新对象。

    排序
    Array类实现了对数组中元素的冒泡排序。Sort()方法需要数组中的元素实现IComparable接口。

    yield语句

    申明

    非源创博文中的内容均收集自网上,若有侵权之处,请及时联络,我会在第一时间内删除.再次说声抱歉!!!

    博文欢迎转载,但请给出原文连接。

  • 相关阅读:
    数据结构学习8——二叉树的销毁
    单链表的反向
    LNK4098: 默认库“MSVCRT”与其他库的使用冲突
    动态链接库(VC_Win32)
    注册表操作(VC_Win32)
    消息钩子与定时器(VC_Win32)
    套接字编程(VC_Win32)
    线程概述,优先级,睡眠,创建及终止(VC_Win32)
    进程通信(VC_Win32)
    进程概述及创建,终止(VC_Win32)
  • 原文地址:https://www.cnblogs.com/Athrun/p/1519539.html
Copyright © 2011-2022 走看看