C#基础3:数组

 

PS:注释和讲解全在代码中

1. 数组的定义/遍历

注意C#的数组使用方式和C++略有不同

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace C4_程序设计
{
    class 数组
    {
        static void Main()
        {
            //数组定义
            int[] a = new int[5]{1,2,3,4,5};        //变量在栈空间,数组里面的内容在堆空间
            //int[] b = new int[6]{1,2,3,4,5};      错误,这里和C语言不一样,如果在后面用大括号声明数组元素,那么数组大小必须和声明数量一致!也就是没有默认补0的操作
            double[] b = new double[12];          //正确
            Console.WriteLine(b[5]);            //没有赋值,默认为0,如果是string没有赋值,默认为空
            string[] str;
            str = new string[]{"one", "two", "three", "four", "five"};          //方框里没有填数字,但因为初始化了前5个变量,所以默认为5

            //数组遍历
            for (int i = 0; i < a.Length; i++)      //遍历数组的所有元素
            {
                b[i] = a[i] * 2;
                Console.Write("{0} ", a[i]);
            }
            Console.Write("\n");
            foreach(double i in b)
                Console.Write("{0} ", i);           //和上面一样,相当于遍历数组的所有元素,类似于C++的for(auto it: G)
            Console.Write("\n");
            foreach (string i in str)
                Console.WriteLine(i);

            //二维数组
            int[,] p = new int[3, 3]{{1,2,3},{25,35,45},{3000,4000,5000}};           //二维数组的定义与赋值
            //int[,] p2 = new int[,]{{1,2,3},{2,3},{3,4,5}};        错误!每一行的元素个数必须严格相同,和上面一样,不会自动补0或忽略
            int[, ,] q = new int[4, 4, 4];      //三维数组类似
            q[1, 1, 1] = 5;
            Console.WriteLine("Text for q: {0}, {1}", q[1, 1, 1], q[2, 2, 2]);
            for (int i = 0; i < p.GetLength(0); i++)        //GetLength里的0指的是第1维
            {
                for (int j = 0; j < p.GetLength(1); j++)        //GetLength里的1指的是第2维
                    Console.Write(p[i, j] + "\t");          //"\t"为制表符,强制对齐8位(或8位空格)
                Console.Write("\n");
            }
        }
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值