【C#基础】数组

本文介绍了如何在编程中使用变量存储单个数据,以及如何通过数组高效存储多个相同类型的数据。讲解了数组的定义、初始化方法、动态长度、下标访问和输入输出(包括遍历)的过程,以及foreach循环的使用。

1、程序中经常要存储数据:
1)用变量来存储。
eg:

int age=18;
		string name="张三";

​ 一个变量存一个数。

问题:存储36个同学的考试成绩,怎么存?
如果用变量存储,要定义36个变量!!
eg:

int a,b,c,d,e,f,g...; //36个

这样写是很麻烦,或许说是不现实的。

2)用数组来存储。

数组:存储多个相同类型数据的集合。

一个数组可以保存多个同类型的数据!!!

2、定义数组:
数据类型[] 数组名称;

数组名称跟变量名一样,要符合命名规则。
eg:

int[] arr; //定义了一个int类型的数组arr
	string[] arr2; //定义了一个string的数组arr2

3、数组初始化:数组要经过初始化之后才能使用。

初始化写法:

  1. 直接赋值

数组能够存多少个数,取决于它有多少个存储空间
存储空间的个数叫数组的长度。

eg:
int[] arr={1,2,3,4,5};//数组长度为5
string[] names={“张三”,“李四”,“王五”};//数组长度为3
char[] cs={‘A’,‘B’,‘C’,‘D’};//数组长度为4
2) 用new关键字:

如果一开始不知道存哪些具体的数。

eg:

int[] arr=new int[5];//数组长度为5
	string[] names=new string[3];//数组长度为3
	char[] cs=new char[4];//数组长度为4

3)前2种混合写法:
eg:

int[] arr=new int[5]{1,2,3,4,5};
	int[] arr=new int[]{1,2,3,4,5};//省掉长度,正确的
	int[] arr=new int[5]{1,2}; //错误的
	int[] arr=new int[2]{1,2,3,4,5};//错误的

注意:数组一旦初始化完成后,长度将不能变化。
eg:

int[] arr=new int[5];

​ 就只能存储5个数,不能自动扩容变成可以存更多数的数组。

4、数组中存储多个数,如何去访问其中的某个数?

数组元素的访问方式:通过下标(索引)访问元素
下标从0开始,第一个数下标为0,第二个数为1,…
最后一个数下标为"数组长度-1"
eg:

int[] a={100,123,12,33,412,123,4};
	Console.WriteLine(a[0]); //100

5、数组输入输出(遍历):配合循环结构!

   int[] arr = new int[5];// 保存5个人的年龄

        // 输入
        for (int i = 0; i < arr.Length; i++)
        {
            Console.Write("输入第{0}个人的年龄:",i+1);
            arr[i]= int.Parse(Console.ReadLine());
        }

        // 输出
        for (int i = 0; i < arr.Length; i++)
        {
            Console.WriteLine("第{0}个:{1}",i+1,arr[i]);
        }

6、foreach循环:通常用于遍历数组或集合。

语法:
foreach(数据类型 变量 in 数组名)
{
要重复做的操作;
}

eg:

int[] arr = { 10, 123, 123, 4, 314, 4, 23, 4 };
       

​        // foreach遍历
​        // var:匿名类型,运行时自动确定变量的类型
​        // item:是一个迭代变量,用来保存遍历到的某个元素
​        //           代表数组元素
​        // 注意: 不能给变量item赋值
​        // 数组的输入不能用foreach
​        foreach (var item in arr)
​        {
​            //if (item>200)
​            //{
​            //    break;
​            //}
​            Console.WriteLine(item);

​            //if (item%2==1)
​            //{
​            //    Console.WriteLine(item);
​            //}
​        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值