您的位置:首页 > 编程语言 > C#

体验C#——Array类的使用

2014-12-04 10:17 113 查看
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 类中一些最常用的属性:
序号属性 & 描述
1IsFixedSize

获取一个值,该值指示数组是否带有固定大小。
2IsReadOnly

获取一个值,该值指示数组是否只读。
3Length

获取一个 32 位整数,该值表示所有维度的数组中的元素总数。
4LongLength

获取一个 64 位整数,该值表示所有维度的数组中的元素总数。
5Rank

获取数组的秩(维度)。
如需了解 Array 类的完整的属性列表,请参阅微软的 C# 文档。


Array 类的方法

下表列出了 Array 类中一些最常用的方法:
序号方法 & 描述
1Clear

根据元素的类型,设置数组中某个范围的元素为零、为 false 或者为 null。
2Copy(Array, Array, Int32)

从数组的第一个元素开始复制某个范围的元素到另一个数组的第一个元素位置。长度由一个 32 位整数指定。
3CopyTo(Array, Int32)

从当前的以为数组中复制所有的元素到一个指定的一维数组的指定索引位置。索引由一个 32 位整数指定。
4GetLength

获取一个 32 位整数,该值表示指定维度的数组中的元素总数。
5GetLongLength

获取一个 64 位整数,该值表示指定维度的数组中的元素总数。
6GetLowerBound

获取数组中指定维度的下界。
7GetType

获取当前实例的类型。从对象(Object)继承。
8GetUpperBound

获取数组中指定维度的上界。
9GetValue(Int32)

获取以为数组中指定位置的值。索引由一个 32 位整数指定。
10IndexOf(Array, Object)

搜索指定的对象,返回整个一维数组中第一次出现的索引。
11Reverse(Array)

逆转整个一维数组中元素的顺序。
12SetValue(Object, Int32)

给一维数组中指定位置的元素设置值。索引由一个 32 位整数指定。
13Sort(Array)

使用数组的每个元素的 IComparable 实现来排序整个一维数组中的元素。
14ToStringk

返回一个表示当前对象的字符串。从对象(Object)继承。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: