C#基础之数组

数组

在这里插入图片描述

1、概念

数组是存储一组相同类型数据的集合

数组分为一维、多维、交错数组

一般情况一维数组简称数组

2、数组的声明

//变量类型[] 数组名;
int[] arr;

//变量类型[] 数组名 = new 变量类型[数组长度];
int[] arr1 = new int[5]; //值为0

//变量类型[] 数组名 = new 变量类型[数组长度]{内容1,内容2...};
int[] arr1 = new int[5]{1,2,3,4,5};

//变量类型[] 数组名 = new 变量类型[]{内容1,内容2...};
int[] arr1 = new int[]{1,2,3,4};

//变量类型[] 数组名 = {内容1,内容2...};
int[] arr1 = {1,2,3,4};

3、数组的使用

int[] array = {1,2,3,4,5};
//1、数组长度 	(.Length)
Console.WriteLine(array.Length);
//2、获取数组中的元素	(范围0~Length-1)
Console.WriteLine(array[1]);
//3、修改数组中的元素
array[0] = 55;
Console.WriteLine(array[0]);
//4、遍历数组
for( int i = 0; i < array.Length; i++){
    Console.WriteLine(array[i]);
}
//5、增加数组的元素
int[] array2 = new int[6];
for( int i = 0; i < array.Length; i++){
    array2[i] = array[i];
}
array = array2;	//指向新的位置
array[5] = 10;
//6、删除数组中的元素
int[] array3 = new int[5];
for( int i = 0; i < array3.Length; i++){
    array3[i] = array[i];
}
array = array3;	
//7、查找数组中的元素 1 2 3 4 5
 int a = 3
 for( int i = 0; i < array.Length; i++){
     if( a == array[i]){
         Console.WriteLine("和a相等的元素再{0}索引位置",i);
         break;
     }
 }

整块代码缩进整理 Ctrl + K + D

思考1 找出随机数中的最大值,最小值
找出随机数中的最大值,最小值,总和,平均值
//从0~100随机10个数
int[] array = new int[10];
Random rnd = new Random();
int max = array[0], min = 0, sum = 0, avg = 0;
for (int i = 0; i < array.Length; i++)
{
    array[i] = rnd.Next(0, 101);
    if (i == 0)
    {
        min = array[0];
    }
    Console.WriteLine(array[i]);
    if (array[i] > max)
    {
        max = array[i];
    }
    if (array[i] < min)
    {
        min = array[i];
    }
    sum += array[i];
}
avg = sum / array.Length;
Console.WriteLine("数组中最大值{0},最小值{1},总和{2},平均值{3}", max, min, sum, avg);
思考2 数组值前后交换
//交换数组中的第一个和最后一个,第二个和倒数第二个,依次类推。
int[] array = new int[10];
int temp = 0;
Random rnd = new Random();
for (int i = 0; i < array.Length; i++)
{
    array[i] = rnd.Next(0, 101);
    Console.WriteLine(array[i]);
}
Console.WriteLine("******");
for (int i = 0; i < array.Length / 2; i++)
{
    temp = array[i];
    array[i] = array[array.Length - 1 - i];
    array[array.Length - 1 - i] = temp;
}
for (int i = 0; i < array.Length; i++)
{

    Console.WriteLine(array[i]);
}
思考3 输入成绩,比较出最大、最小值
try
{
    int[] arr = new int[3];
    int max = 0, min = 0, sum = 0, avg = 0;
    
    for (int i = 0; i < arr.Length; i++)
    {
        Console.WriteLine("请输入第{0}位同学的成绩",i+1);
        arr[i] = int.Parse(Console.ReadLine());
        if (i == 0 )
        {
            min = arr[i];
        }
        else
        {
            if (arr[i] > max)
            {
                max = arr[i];
            }
            if (arr[i] < min)
            {
                min = arr[i];
            }
        }
        sum += arr[i];
    }
    avg = sum / arr.Length;
    Console.WriteLine("最高分{0},最低分{1},总分{2},平均分{3}", max, min, sum, avg);
}
catch
{
    Console.WriteLine("输错了");
}
思考4 生成一个5X5的花格子

在这里插入图片描述

string[] strs = new string[25];
for (int i = 0; i < strs.Length; i++)
{
    if ((i + 1) % 5 == 0)
    {
        if (i % 2 == 0)
        {
            Console.Write("■");
        }
        else
        {
            Console.Write("□");
        }
        Console.WriteLine("");
    }
    else
    {
        if (i % 2 == 0)
        {
            Console.Write("■");
        }
        else
        {
            Console.Write("□");
        }
    }
}

二维数组

概念

同一变量类型行列数据组合

二维数组 是使用两个下标(索引)来确定元素数组

int[2,3] 两行,三列

声明

//变量类型[,] 二维数组变量名;
int[,] arr;
//变量类型[,] 二维数组变量名 = new 变量行[行,列];
int[,] arr = new int[3,3];
int[,] arr = new int[3,3]{{1,2.3},{1,2,3},{1,1,1}}
int[,] arr = new int[,]{{1,2.3},{1,2,3},{1,1,1}}
int[,] arr = {{1,2.3},{1,2,3},{1,1,1}}

使用

//1、二维数组的长度
行 arr.GetLength(0);
列 arr.GetLength(1);
//2、获取数组中的元素
arr[0,1]
//3、修改数组中的元素
arr[0,0] = 2
//4、遍历数组
for(int i = 0;i <arr.GetLength(0); i++ ){
    for(int j = 0; j< arr.GetLength(1); j++)
        Console.WriteLine(array[i,j]);
}
//5、增加数组的元素
int[,] arr1 =new int[2,3]
int[,] arr2 =new int[3,3]
for(int i = 0; i < arr2.GetLength(0); i++){
    for(int j = 0; j < arr2.GetLength(1); i++){
        arr2[i,j] = arr1[i,j]
    }
}
arr1 = arr2;
//arr1添加元素
arr1[2,0] = 1;arr1[2,1] = 2;arr1[2,2] = 3;
//6、删除数组中的元素
//7、查找数组中的元素 1 2 3 4 5

交错数组

1、概念:可以存储同一类型的m行确定列的数据

数组的数组,每个维度的数量可以不同

注意:二维数组每行的列数相同,交错数组每行的列数可能不同

2、声明:

//变量类型[][] 交错数组名;
int[][] arr;
int[][] arr = new int[3][];
int[][] arr = new int[3][]{new int[]{1,2,3},new int[]{1,2}new int[]{3}}
int[][] arr = new int[][]{new int[]{1,2,3},new int[]{1,2}new int[]{3}};
int[][] arr = {new int[]{1,2,3},new int[]{1,2}new int[]{3}};

3、使用

1、数组的长度
//行
    Console.WriteLine(array.GetLength(0));
//得到某一行的列数
    Console.WriteLine(array[0].Length);
2、遍历
for(int i = 0;i <arr.GetLength(0); i++ ){
    for(int j = 0; j< arr[i].Length; j++)
        Console.Write(array[i][j] + " ");
	}
	Console.WriteLine();
}
  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值