.net框架所有数组均隐藏继承自System.Array。

数组有维数(Rank),长度(Length),元素类型(Element Type)基本属性.

数组基类System.Array:  

  Array实现了以下几个接口:ICloneable、IEnumerable、ICollection、IList。

  Array中常被忽视的几个属性与方法:

  Rank:只读实例属性,返回数组的维数。

  GetLength:实例方法,返回数组中指定维数的元素个数。

  Length:只读实例属性,返回数组中所有元素的总个数(我一直以为这个是返回某维数的元素个数,真是惭愧)。

  GetLowerBound:实例方法,返回数组中指定维数的下限。

  GetUpperBound:实例方法,返回数组中指定维数的上限。

  IsSynchronized:只读实例属性,指示数组的访问是否线程安全,通常总为false。

  SyncRoot:只读实例属性,返回一个可用来同步访问数组的对象。关于IsSynchronized和SyncRoot属性,可参看该文章:http://www.cnblogs.com/free722/archive/2011/03/25/1995120.html

  GetEnumerator:实例方法,为数组返回一个IEnumerator。

  Sort:静态方法,对数组元素进行排序,数组元素必须实现ICompare接口。

  BinarySearch:静态方法,使用二分搜索法来搜索指定数组中的指定元素。该方法假定数组本身已经排好序。通常在调用BinarySearch前应首先调用Sort方法。

  IndexOf:静态方法,返回某个值在数组中第一次出现的索引值。

  LastIndexOf:静态方法,返回某个值在数组中最后一次出现的索引值。

  Reverse:静态方法,反转数组全部或部分元素顺序。

  Clone:实例方法,返回一个新创建数组,该数组是源数组的一个浅拷贝。

  CopyTo:实例方法,将源数组中的元素拷贝到目的数组中。

  Copy:静态方法,将一个数组中的部分元素拷贝到另一数组中,并根据需要进行适当转型。

  CreateInstance:静态方法,创建一个数组实例,它允许我们动态定义拥有任何类型、任何维数、任何上下限的数组。

Array实现了以下几个接口:ICloneable、IEnumerable、ICollection、IList

public interface ICloneable
{
  object Clone();
} public interface IEnumerable
{
  IEnumerator GetEnumerator();
} public interface ICollection : Ienumerable
{
  int Count{get;}  //元素个数   bool IsSynchronized{get;}  //是否同步集合访问(线程安全)   object SyncRoot{get;}  //获取可同步访问对象   void CopyTo(Array array,int index);  //从指定索引处复制数组元素到另一个数组。
} public interface IList : ICollection,IEnumberable
{
  object this[int index] {get;set;}  //获取或设置位于指定索引处的元素   bool IsFixedSize { get; }  //是否固定大小   bool IsReadOnly { get; }  //是否只读   增:
  int Add(object value)  //将项目添加到Ilist中   int Insert(int index, object value)  //将项目插入到指定索引位置   删:
  void Clear()  //移除IList所有项目   void Remove(int index)  //移除指定索引处的Ilist项目   void Remove(object value)  //移除特定对象的第1个匹配项   查:
  bool Contains(object value)  //是否包括特定值   int IndexOf(object value)  //返回特定项目索引
}

  

原文:http://www.cnblogs.com/free722/archive/2011/03/28/1998153.html

.net框架-数组的更多相关文章

  1. ThinkPHP框架数组定义

    PHP数组定义 ThinkPHP框架中所有配置文件的定义格式均采用返回PHP数组的方式,格式为: //项目配置文件 return array( 'DEFAULT_MODULE' => 'Inde ...

  2. Foundation框架—— 数组 (NSArray NSMutableArray )

    基础知识回顾 1.在给可变数组添加元素时,要保证该数组已被初始化 2.在遍历可变数组时,不能对其进行增删改 3.NSMutableArray继承自NSArray,几乎拥有NSArray的一切方法. 4 ...

  3. .net框架-数组(Array)& ArrayList & List

    数组(Array)特点: 初始化时规定长度 元素类型相同 数据存储连续,效率高 System.Collections.ArrayList : 初始化时无需规定长度,长度随存储的数据动态扩充与收缩 元素 ...

  4. Java--接口和类集框架

    一.接口 接口是静态常量和抽象方法的集合.也就是说,接口中只能有静态常量和抽象方法. public interface Pet { public static final int A = 10; pu ...

  5. 转:最近5年133个Java面试问题列表

    最近5年133个Java面试问题列表 Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来 ...

  6. Java笔试题解答和部分面试题

    面试类  银行类的问题 问题一:在多线程环境中使用HashMap会有什么问题?在什么情况下使用get()方法会产生无限循环? HashMap本身没有什么问题,有没有问题取决于你是如何使用它的.比如,你 ...

  7. 近5年133个Java面试问题列表

    Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来越高级,面试官问的问题也更深入. 在我 ...

  8. c# 编程语言tag

    ['JavaScript','Objective-C','C++','C#','Basic','PHP','Python','Perl', 'Transact-SQL','ruby','CSS3',' ...

  9. 最近5年183个Java面试问题列表及答案[最全]

    Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别(String 类型和 StringBuffer 类型的主要性能区别其实在于 Stri ...

随机推荐

  1. Java开发笔记(一百三十七)JavaFX的标签

    前面介绍了JavaFX的窗口框架,其中舞台.场景.窗格都能与AWT/Swing体系的相关概念一一对应,不仅如此,JavaFX的常见控件也能在Swing中找到相应的控件.比如JavaFX的按钮控件名叫B ...

  2. Django REST Framework批量更新rest_framework_extensions

    Django REST framework 是一套基于Django框架编写RESTful风格API的组件. 其中mixins配合viewsets能极其方便简化对数据的增删改查, 但本身并没有对数据的批 ...

  3. postman接口测试-参数化-测试数据Text文本

    全局变量参数化 在环境变量里面设置好参数,比如url=http://www.baidu.com 某一类型的BaseUrl全部都是www.baidu.com,参数化之后倘若哪天URL变更之后,改一个环境 ...

  4. const指针和指向常量的指针

    先看下面六种写法: . const int p; . const int *p; . int const* p; . int * const p; . const int * const p; . i ...

  5. 视图集ViewSet

    一 .视图集ViewSet 使用视图集ViewSet,可以将一系列逻辑相关的动作放到一个类中: list() 提供一组数据 retrieve() 提供单个数据 create() 创建数据 update ...

  6. ffmpeg 速查手册

    ref : http://linux.51yip.com/search/ffmpeg ffmpeg是一个源于Linux的工具软件,是FLV视频转换器,可以轻易地实现FLV向其它格式avi.asf. m ...

  7. [洛谷P5329][SNOI2019]字符串

    题目大意:给一个长度为$n$的字符串$s$,字符串$p_i$为字符串$s$去掉第$i$个字符后形成的字符串.请给所有字符串$p_i$排序(相同字符串按编号排序) 题解:先去掉所有连续相同字符,因为它们 ...

  8. 二进制方式安装Kubernetes 1.14.2高可用详细步骤

    00.组件版本和配置策略 组件版本 Kubernetes 1.14.2 Docker 18.09.6-ce Etcd 3.3.13 Flanneld 0.11.0 插件: Coredns Dashbo ...

  9. 玩转Spring全家桶笔记 03 Spring的JDBC操作以及SQL批处理的实现

    1 spring-jdbc core JdbcTemplate 等相关核心接口和类(核心) datesource 数据源相关的辅助类(内嵌数据源的初始化) object 将基本的JDBC操作封装成对象 ...

  10. python 包 安装 加速 pip anaconda

    使用 -i 参数指定源,豆瓣的很快: pip install web.py -i http://pypi.douban.com/simple anaconda: ~/.condarc channels ...