C# 中的数组类

举报
陈言必行 发表于 2021/08/14 00:43:53 2021/08/14
【摘要】 数组是 n(n≥1)个相同数据类型的数据元素的有限序列。一维数组可以看作是一个线性表,二维数组可以看作是“数据元素是一维数组”的一维数组,三维数组可以看作是“数据元素是二维数组”的一维数组,依次类推。 C#支持一维数组、多维数组及交错数组(数组的数组)。所有的数组类型都隐含继承自 System.Array。Array 是一个抽象类,本身又继承自 System.Obje...

数组是 n(n≥1)个相同数据类型的数据元素的有限序列。一维数组可以看作是一个线性表,二维数组可以看作是“数据元素是一维数组”的一维数组,三维数组可以看作是“数据元素是二维数组”的一维数组,依次类推。

C#支持一维数组、多维数组及交错数组(数组的数组)。所有的数组类型都隐含继承自 System.Array。Array 是一个抽象类,本身又继承自 System.Object。所以,数组总是在托管堆上分配空间,是引用类型。任何数组变量包含的是一个指向数组的引用,而非数组本身。当数组中的元素的值类型时,该类型所需的内存空间也作为数组的一部分而分配;当数组的元素是引用类型时,数组包含是只是引用。

常用的数组方法:

using System;
using System.Collections;
public abstract class Array : ICloneable, IList, ICollection, IEnumerable
{ //判断 Array 是否具有固定大小。 public bool IsFixedSize { get; } //获取 Array 元素的个数。 public int Length { get; } //获取 Array 的秩(维数)。 public int Rank { get; } //实现的 IComparable 接口,在.Array 中搜索特定元素。 public static int BinarySearch(Array array, object value); //实现的 IComparable<T>泛型接口,在 Array 中搜索特定元素。 public static int BinarySearch<T>(T[] array, T value); //实现 IComparable 接口,在 Array 的某个范围中搜索值。 public static int BinarySearch(Array array, int index, int length, object value); //实现的 IComparable<T>泛型接口,在 Array 中搜索值。 public static int BinarySearch<T>(T[] array, int index, int length, T value); //Array 设置为零、 false 或 null,具体取决于元素类型。 //System.Array 的浅表副本。 public object Clone(); //从第一个元素开始复制 Array 中的一系列元素 //到另一 Array 中(从第一个元素开始)。 public static void Copy(Array sourceArray, Array destinationArray, int length); //将一维 Array 的所有元素复制到指定的一维 Array 中。 public void CopyTo(Array array, int index); //创建使用从零开始的索引、具有指定 Type 和维长的多维 Array。 public static Array CreateInstance(Type elementType, params int[] lengths); //返回 ArrayIEnumerator。 public IEnumerator GetEnumerator(); //获取 Array 指定维中的元素数。 public int GetLength(int dimension); //获取一维 Array 中指定位置的值。 public object GetValue(int index); //返回整个一维 Array 中第一个匹配项的索引。 public static int IndexOf(Array array, object value); //返回整个.Array 中第一个匹配项的索引。 public static int IndexOf<T>(T[] array, T value); //返回整个一维 Array 中最后一个匹配项的索引。 public static int LastIndexOf(Array array, object value); //反转整个一维 Array 中元素的顺序。 public static void Reverse(Array array); //设置给一维 Array 中指定位置的元素。 public void SetValue(object value, int index); //对整个一维 Array 中的元素进行排序。 public static void Sort(Array array);
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70

文章来源: czhenya.blog.csdn.net,作者:陈言必行,版权归原作者所有,如需转载,请联系作者。

原文链接:czhenya.blog.csdn.net/article/details/78078464

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。