标签:c# 索引 二维数组 合并 visual studio
学了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
标签:c# 索引 二维数组 合并 visual studio
原文地址:http://blog.csdn.net/erlian1992/article/details/44835095