using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//using System.Array;
namespace UseArray
{
//建立一维数组保存学生信息
class StudentGrade
{
private Array gra;//
public StudentGrade(Array g)
{
this.gra = g;
}
public void setGrades()
{
//使用Array类的setValue();方法
gra.SetValue(78,0);
gra.SetValue(68, 1);
gra.SetValue(98, 2);
}
//用for语句遍历数组对象
public void showGrades()
{
for (int i = 0; i < gra.Length; i++)
{
//使用GetValue()方法获得元素
Console.WriteLine("数组元素{0}:{1}",i+1,gra.GetValue(i));
}
}
//对数组元素进行排序
public void sortGrades()
{
//使用Sort(System.Aray)方法
Array.Sort(gra);
this.showGrades();
}
}
class Program
{
static void Main(string[] args)
{
建立一维数组保存学生信息
Array arr= Array.CreateInstance(typeof(int), 3);
StudentGrade studentGrade = new StudentGrade(arr);
//初始化数组
studentGrade.setGrades();
//遍历数组
studentGrade.showGrades();
//对数组进行排序
studentGrade.sortGrades();
Console.WriteLine("");
Console.WriteLine("");
Console.WriteLine("其他");
//----------------关于Array的另一些用法-------------------
//逆向数组(反转数组元素)
Array.Reverse(arr);
for (int i = 0; i < arr.Length; i++)
{
Console.WriteLine("数组元素{0}:{1}", i + 1, arr.GetValue(i));
}
//----------------一般数组使用Array类方法(非Array类创建)----------------
int[] a = new int[3] { 12,11,34};
int[] b;
// b = Array.CreateInstance(typeof(int), 3);这显然会报错的
//b = Array.CreateInstance(typeof(int),3);
Console.WriteLine("原始数组");
foreach (int i in a)
{
Console.WriteLine(i);
}
Console.WriteLine("逆向后");
Array.Reverse(a);
for (int i = 0; i < a.Length; i++)
{
Console.WriteLine("数组元素{0}:{1}", i + 1, a.GetValue(i));
}
Console.WriteLine("排序后");
Array.Sort(a);
for (int i = 0; i < a.Length; i++)
{
Console.WriteLine("数组元素{0}:{1}", i + 1, a.GetValue(i));
}
Console.ReadKey();
}
}
}
Array 类的属性
下表列出了 Array 类中一些最常用的属性:
序号 | 属性 & 描述 |
---|---|
1 | IsFixedSize 获取一个值,该值指示数组是否带有固定大小。 |
2 | IsReadOnly 获取一个值,该值指示数组是否只读。 |
3 | Length 获取一个 32 位整数,该值表示所有维度的数组中的元素总数。 |
4 | LongLength 获取一个 64 位整数,该值表示所有维度的数组中的元素总数。 |
5 | Rank 获取数组的秩(维度)。 |
如需了解 Array 类的完整的属性列表,请参阅微软的 C# 文档。
Array 类的方法
下表列出了 Array 类中一些最常用的方法:
序号 | 方法 & 描述 |
---|---|
1 | Clear 根据元素的类型,设置数组中某个范围的元素为零、为 false 或者为 null。 |
2 | Copy(Array, Array, Int32) 从数组的第一个元素开始复制某个范围的元素到另一个数组的第一个元素位置。长度由一个 32 位整数指定。 |
3 | CopyTo(Array, Int32) 从当前的以为数组中复制所有的元素到一个指定的一维数组的指定索引位置。索引由一个 32 位整数指定。 |
4 | GetLength 获取一个 32 位整数,该值表示指定维度的数组中的元素总数。 |
5 | GetLongLength 获取一个 64 位整数,该值表示指定维度的数组中的元素总数。 |
6 | GetLowerBound 获取数组中指定维度的下界。 |
7 | GetType 获取当前实例的类型。从对象(Object)继承。 |
8 | GetUpperBound 获取数组中指定维度的上界。 |
9 | GetValue(Int32) 获取以为数组中指定位置的值。索引由一个 32 位整数指定。 |
10 | IndexOf(Array, Object) 搜索指定的对象,返回整个一维数组中第一次出现的索引。 |
11 | Reverse(Array) 逆转整个一维数组中元素的顺序。 |
12 | SetValue(Object, Int32) 给一维数组中指定位置的元素设置值。索引由一个 32 位整数指定。 |
13 | Sort(Array) 使用数组的每个元素的 IComparable 实现来排序整个一维数组中的元素。 |
14 | ToStringk 返回一个表示当前对象的字符串。从对象(Object)继承。 |