体验C#——Array类的使用

本文详细介绍了C#中Array类的使用方法,包括数组的创建、初始化、遍历及排序等操作,并列举了Array类的一些常用属性和方法。
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)继承。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值