C#拾遗之数组

        学了C++语言的数组,再学习C#语言的数组,总会去想它们之间的区别,定义格式,书写形式,赋值形式都不同。相对于C++语言来说,C#语言提供的数组更有实用性,C#语言的数组在元素值不知道的情况下可以动态地实现赋值。

        一维数组

        一维数组的声明格式:

        数据类型 [ ]   <数组名称>

        对一维数组初始化有两种形式:

        (1), int[] Array={1,2,3,4,5,6}

        (2), int[] Array=new int[6] {1,2,3,4,5,6}

              或int[] Array; Array=new int[6] {1,2,3,4,5,6}

        例题:根据索引更改数组中的元素并输出更改后数组的所有元素

<span style="font-size:18px;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] Array;
            Array = new int[6]{1,2,3,4,5,6};
            Console.WriteLine("Array的第二个元素:{0}",Array[1]);
            Array[1] = 7;
            Console.WriteLine("更改后的Array的第二个人元素:{0}",Array[1]);
            Console.WriteLine("以下是更改后的Array的所有元素");
            foreach (int temp in Array)
            {
                Console.WriteLine(temp);
            }
            Console.ReadLine();
        }
    }
}</span>

        输出的结果很清楚的知道为:Array的第二个元素:2

                                                      更改后的Array的第二个人元素:7

                                                      以下是更改后的Array的所有元素  1 7 3 4 5 6(每一行一个元素的输出)

         二维数组

         二维数组的声明格式为:

        数据类型 [ , ]  <数组名称>

        对二维数组进行初始化的两种形式:

        (1),int[,] Array={(1,2),(3,4),(5,6)}hu

        (2),int[,] Array=new int[3,2] {(1,2),(3,4),(5,6)}

       或int[,] Array;Array=new int[3,2] {(1,2),(3,4),(5,6)}

        例题,根据索引更改数组中的元素并输出更改后数组后的元素

<span style="font-size:18px;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int[,] Array;
            Array=new int[3,2]{{1,2},{3,4},{5,6}};
            Console.WriteLine("更改前Array的数组元素为:");
            foreach (int temp in Array)
            {
                Console.WriteLine(temp);
            }
            Array[1, 0] = 7;
            Array[1, 1] = 8;
            Console.WriteLine("更改后Array的数组元素为:");
            foreach (int item in Array)
            {
                Console.WriteLine(item);
            }
            Console.ReadLine();
        }
    }
}</span>

         输出的结果很简单为:更改前Array的数组元素为:1 2 3 4 5 6

                                             更改后Array的数组元素为:1 2 7 8 5 6(每一行一个元素的输出)

         数组排序

         Array提供了Sort方法来进行排序,但它常与Reverse方法(反转数组中元素的顺序)一起配合使用。

         Sort方法,接受一个数组,将其实现升序,格式为:Array.Sort(数组)

         Reverse方法,接受一个数组,将其反转数组中元素的顺序,格式为:Array.Reverse(数组)

         例题,对下面的数组进行升序然后再进行降序

<span style="font-size:18px;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] b;
            b=new int[6]{2,1,4,5,3,6};
            Array.Sort(b);
            Console.WriteLine("升序排列:");
            foreach (int temp in b)
            {
                Console.WriteLine(temp);
            }
            Array.Reverse(b);
            Console.WriteLine("降序排列:");
            foreach (int item in b)
            {
                Console.WriteLine(item);
            }
            Console.ReadLine();
        }
    }
}</span>

          输出结果很简单为:升序排列:1 2 3 4 5 6

                                           降序排列:6 5 4 3 2 1(每一行输出一个元素)

          数组合并与拆分

          Array提供了Copy方法实现数组的合并与拆分。Copy方法有四个重载,分别为:

          (1)Array.Copy(数组1,数组2,长度)Int32

          (2)Array.Copy(数组1,数组2,长度)Int64

          (3)Array.Copy(数组1,指定索引,数组2,指定索引,长度)Int32

          (4)Array.Copy(数组1,指定索引,数组2,指定索引,长度)Int64

          例题,实现合并数组1和数组2为数组3,将数组2拆分给数组4

<span style="font-size:18px;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] arr1 = {1,2,3,4};
            int[] arr2 = {5,6,7,8,9};
            int[] arr3=new int[9];
            int[] arr4=new int[3];//取数组2中的前三个元素
            Array.Copy(arr1, 0, arr3, 0, 4);//合并数组1到数组3
            Array.Copy(arr2, 0, arr3, 4, 5);//合并数组2到数组3
            Array.Copy(arr2, 0, arr4, 0, 3);//拆分数组2前三个元素到数组4
            Console.WriteLine("合并为数组3的元素为:");
            foreach (int temp in arr3)
            {
                Console.WriteLine(temp);
            }
            Console.WriteLine("拆分为数组4的元素为:");
            foreach (int item in arr4)
            {
                Console.WriteLine(item);
            }
            Console.ReadLine();
        }
    }
}</span>

         输出的结果为:合并为数组3的元素为:1 2 3 4 5 6 7 8 9

                                  拆分为数组4的元素为:5 6 7

 

 
 

 

             

      

       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值