C# 中的数组类
【摘要】 数组是 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)