《C#图解教程》第5版笔记-数组

创建并访问一个一维数组

数组的声明需要注意一下几点:

  • 可以使用任意多个秩说明符 int[,,,,]、int[]
  • 不能在数组类型区域中放数组维度长度。秩是数组类型的一部分,而维度长度不是类型的一部分。
  • 数组声明以后,维度就是固定的了。然而,维度长度直到数组实例化才会确定。
using System;

namespace ConsoleApp3
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] myArray;                      //声明数组
            myArray =new int[4];                //实例化数组
            for(int i = 0; i < 4; i++)
                myArray[i] = i ;

            for (int i = 0; i < 4; i++)         //读取并输出每个数组元素的值
                Console.WriteLine($"Value of element {i}={myArray[i]}");
        }
    }
}

创建隐式类型的矩阵数组

using System;

namespace ConsoleApp3
{
    class Program
    {
        static void Main(string[] args)
        {
            //声明、创建和初始化一个隐式类型的数组
            var myArray = new[,] { { 1, 2, 3 }, { 4, 5, 6 } };       
            for (int i = 0; i < 2; i++)
                for (int j = 0; j < 3; j++)
                    Console.WriteLine($"Element [{i},{j}] is {myArray[i, j]}");
            
        }
    }
}

数组作为方法参数

数组本身是一个引用类型,因此,如果它被传送给一个方法,则方法内部对数组的修改,会直接作用于“原始”的数组对象。

using System;

namespace ConsoleApp1
{
    class Program
    {
        //定义一个方法,此方法接收一个字符串数组,将其中的所有字符串转换为大写
        static void ModifyStringArr(string[] arr)           
        {
            for(int i = 0; i < arr.Length; i++)
            {
                arr[i] = arr[i].ToUpper();
            }
        }

        static void Main(string[] args)
        {
            string[] myArray = new string[] {"how","are","you","?"};
            //将字符串数组传给一个方法
            ModifyStringArr(myArray);
            foreach(string str in myArray)               //遍历
            {
                Console.WriteLine(str);
            }

            for(int i = 0; i < myArray.Length; i++)      //循环
            {
                Console.WriteLine(myArray[i]);
            }

        }
    }
}
未经允许不得转载:透视数据 » 《C#图解教程》第5版笔记-数组