【C#】数组

数组:

相同数据类型组成的新的数据类型,数组的每一个成员称为一个数组元素。

 

一维数组定义:

int[] intArray;
float[] floatArray;
double[] doubleArray;

初始化:在定义数组后,必须对其初始化才能够使用

初始化数组有两种方法,动态初始化静态初始化

 

动态初始化:

数据类型[] 数组名 = new 数据类型[数组长度]{元素1,元素2……};

动态初始化借助new运算符为数组元素分配内存空间,并赋初值。

①给定初值:

int[] intArray = new int[5]{1,2,3,4,5};  
//int为4个字节,开辟4*5=20个字节的空间

int[] intArray = new int[]{1,2,3};
//与上一句等效,自动判断有多少个元素,开辟多少内存空间

②不给定初值,各元素取默认值:

数据类型初始值为0,布尔类型初始值为false,字符串初始值为null

int[] intArray = new int[6];

 

静态初始化:

数组类型[] 数组名 = {元素1,元素2,元素3,……元素n};

此情况下,不能将数组定义和静态初始化分开

//正确写法
int[] intArray = {1,2,3,4,5};

//错误写法
int[] intArray;
intArray = {1,2,3,4,5};

 

数组元素:

访问:数组名+[下标]

数组下标:数组元素在数组中的编号,从0开始计算到数组长度-1,下标可以是常量,也可以是变量。

数组长度:数组名.Length;得到的值即为数组长度

例子:

int[] intArray = { 1, 2, 3, 4, 5, 6, 7 };
int n = intArray.Length;
Console.WriteLine(n);        //7

注意:

  • 系统不会检测数组元素的下标是否越界,编程时必须保证数组下标不能越界;
  • 数组是一个整体,不能直接参与运算,只能对单个元素进行处理,通常用到数组的地方都会用到循环。

 

 

 

 

练习:

1.分别用动态初始化和静态初始化定义一个具有5个元素的整型数组,并求出数组元素的和。

 1 using System;
 2 
 3 namespace ConsoleApplication1
 4 {
 5     class Program
 6     {
 7         static void Main(string[] args)
 8         {
 9             //动态初始化
10             int[] intArray1 = new int[] { 5, 7, 6, 1, 5 };
11             int sum1 = 0;
12             for(int i=0;i<intArray1.Length;i++)
13             {
14                 sum1 += intArray1[i];
15             }
16             Console.WriteLine(sum1);
17 
18             //静态初始化
19             int[] intArray2 = { 8, 2, 3, 7, 1 };
20             int sum2 = 0;
21             for(int j=0;j<intArray2.Length;j++)
22             {
23                 sum2 += intArray2[j];
24             }
25             Console.WriteLine(sum2);
26 
27             Console.ReadKey();
28         }
29     }
30 }

 

2.将上面声明的2个数组对应的元素相加,放到另外一个数组里面。

 1 using System;
 2 
 3 namespace ConsoleApplication1
 4 {
 5     class Program
 6     {
 7         static void Main(string[] args)
 8         {
 9             //动态初始化
10             int[] intArray1 = new int[] { 5, 7, 6, 1, 5 };
11 
12             //静态初始化
13             int[] intArray2 = { 8, 2, 3, 7, 1 };
14 
15             int[] sumArray=new int[intArray1.Length];
16             for(int i=0;i<intArray1.Length;i++)
17             {
18                 sumArray[i] = intArray1[i] + intArray2[i];
19             }
20             for (int j = 0; j < sumArray.Length; j++)
21             {
22                 Console.WriteLine(sumArray[j]);
23             }
24             Console.ReadKey();
25         }
26     }
27 }

 

3.复制一个数组,即两个数组长度一样,把其中一个数组里面的元素复制到另外一个数组里面。

 1 using System;
 2 
 3 namespace ConsoleApplication1
 4 {
 5     class Program
 6     {
 7         static void Main(string[] args)
 8         {
 9             //动态初始化
10             int[] intArray1 = new int[] { 5, 7, 6, 1, 5 };
11 
12             int[] intArray=new int[intArray1.Length];
13             for(int i=0;i<intArray1.Length;i++)
14             {
15                 intArray[i] = intArray1[i];
16             }
17             for (int j = 0; j < intArray.Length; j++)
18             {
19                 Console.WriteLine(intArray[j]);
20             }
21             Console.ReadKey();
22         }
23     }
24 }

转载于:https://www.cnblogs.com/zh-44/p/9681421.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值