C#数组

简介: C#中定义一个数组的方法一般为: Data Type []  Array=new DataType [Size]; 其中Data Type可以是基本数据类型和对象类型数据,Size是数组元素的个数.
C#中定义一个数组的方法一般为:

Data Type []  Array=new DataType [Size];

其中Data Type可以是基本数据类型和对象类型数据,Size是数组元素的个数.

例子定义一个int类型的数据来表示一个班上的人数

int [] classNum=new int[20];

数组的属性有:

属性 意义
public virtual bool IsFixedSize 数组的长度是否是固定的
public virtual bool IsReadOnly 数组是否是只读型
public virtual bool IsSynchronized 在多线程环境下是否安全
public int Length 数组元素的个数
public int Rank 数组的维数
public virtual object SyncRoot 同步访问数组对象

数组对象的方法有静态方法和实例方法;

public static int BinarySearch(Array a, object v);

数组a必须是一维而且排好序的;此方法的结果是返回a中与v匹配的第一个元素的索引号.如果没有匹配元素则返回一个负数-1;

public static int BinarySearch(Array a, object v, IComparer comp);

与前面的方法相似,区别在于comp;用于比较符号;

public static int BinarySearch(Array a, int start,int count, object v)

从a中start开始的count个元素中查询与v匹配的元素的一个索引号.

public static int BinarySearch(Array a, int start,int count, object v,IComparer comp)

与上一个方法相似.区别在于用比较法补偿;

public static void Clear(Array a, int start, int count)

将数组a中从start开始的从count个元素置零;

public virtual object Clone()Copy这个数组;

public static void Copy(Array source,Array dest, int count)

将source中的count个元素赋值到数组dest中.;

public virtual void CopyTo(Array dest, int start)

将调用此方法的数组对象中的start个元素赋值到dest中.

public static Array CreateInstance(Type t, int size)

创建一个有Size个元素的数组,其中元素类型是t;

public static Array CreateInstance(Type t, int size1, int size2)

创建一个二维数组,数组的参数是[size1][size2];数组元素的类型是t;

public static Array CreateInstance(Type t, int size1,int size2, int size3)

创建一个三维数组,元素类型是T,同创建二维数组一样.;

public static Array CreateInstance(Type t, int[ ] sizes)

创建一个参数sizes维的数组,元素类型是t;

public static Array CreateInstance(Type t, int[ ] sizes,int[ ] startIndexes)

创建一个多维数组,数组维数是sizes,每一个元素的数据类型是t.数组中每一维数组的开始索引号是startIndexes;

public override bool Equals(object v)

判断v是否与调用此方法的数组对象是否相同.

public virtual IEnumerator GetEnumerator()

返回数组的枚举对象

public int GetLength(int dim)

返回多维数组第dim维的元素的个数

public override int GetHashCode()

返回数组的哈希码;

public int GetUpperBound(int dim)

返回多维数组第dim维的元素的最后一个索引值

public object GetValue(int index) 返回一维数组第index个元素的值

public object GetValue(int idx1, int idx2)和public object GetValue(int idx1, int idx2,int idx3)分别获取2维和3维数组的某个特殊元素的值.;

public static int IndexOf(Array a, object v) 返回a中与v的值一样的第一元素的索引值;

public static int IndexOf(Array a, object v,int start)

从a中第start个元素开始,返回与v的值一样的元素位置;

public static int IndexOf(Array a, object v,int start, int count)

从a中第start个元素开始的count个元素中,返回与v的值一样的元素位置;

public static int LastIndexOf(Array a, object v,int start, int count)

在a中得第start个元素开始的count个元素中查找与v相等的元素的索引号

public static void Reverse(Array a) 将数组a所有元素做个逆转;

public void SetValue(object v, int index) 设置数组对象的第index个元素的值为v;

对象二维和三维数组有相似的函数;public void SetValue(object v, int idx1, int idx2)和public void SetValue(object v, int idx1,int idx2, int idx3)

public static void Sort(Array a) 对数组a进行排序;

二. 定义和初始化一个数组

int[] myIntArray; myIntArray = new int[4];     利用数组的函数IndexOf() and LastIndexOf()来获取数组中某一个特定元素的位置;

相关文章
|
6月前
|
C#
C#学习相关系列之数组---常用方法使用(二)
C#学习相关系列之数组---常用方法使用(二)
|
6月前
|
存储 C#
C#学习系列相关之数组(一)---数组的定义与使用
C#学习系列相关之数组(一)---数组的定义与使用
|
6月前
|
存储 人工智能 C#
【Unity 3D】C#中数组、集合、栈、队列、哈希表、字典的讲解(附测试代码)
【Unity 3D】C#中数组、集合、栈、队列、哈希表、字典的讲解(附测试代码)
81 0
|
开发框架 .NET C#
c#数组补充
c#数组的几个简单的补充
42 0
|
2月前
|
存储 C# 索引
C# 一分钟浅谈:数组与集合类的基本操作
【9月更文挑战第1天】本文详细介绍了C#中数组和集合类的基本操作,包括创建、访问、遍历及常见问题的解决方法。数组适用于固定长度的数据存储,而集合类如`List<T>`则提供了动态扩展的能力。文章通过示例代码展示了如何处理索引越界、数组长度不可变及集合容量不足等问题,并提供了解决方案。掌握这些基础知识可使程序更加高效和清晰。
76 2
|
5月前
|
存储 开发框架 .NET
C#中的数组探索
C#中的数组探索
|
6月前
|
C#
C# 字节数组与INT16,float,double之间相互转换,字符数组与字符串相互转换,
C# 字节数组与INT16,float,double之间相互转换,字符数组与字符串相互转换,
174 2
C#基础⑥.2——数组(冒泡排序、求最值、数组排序、forr反转)
一次语文测试后,老师让班长统计每一个学生的成绩并计算全班(全班共5人)的平均成绩,然后把所有成绩显示出来。
|
6月前
|
存储 C#
C#基础语法(数组和函数)
C#基础语法(数组和函数)
63 1
|
6月前
|
存储 C# C++
C# 笔记2 - 数组、集合与与文本文件处理
C# 笔记2 - 数组、集合与与文本文件处理
78 0