【C#】—数组

前言

  数组是一个存储相同类型元素的固定大小的顺序集合。数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合,数组可以一次性声明多个相同类型变量,数组又分为一维数组,二维数组,三维数组。
  数组就是一个容器,如:一筐鸡蛋就是一个数组,筐里可以放许多鸡蛋,鸡蛋就是数组的每一项。

数组声明的4中方法:

这里写图片描述
  数组是使用下标值(也称为索引号或位置号)的序顺来存放的,下标值是从0开始的。通过比较数组的定义发现比变量的定义只是多了一个[]符号。

数组的赋值:

int[]nums=new int[3];//声明一个数组
 nums[0] = 10;
 nums[1] = 20;
 nums[3] = 30;

数组的存取值

int[]nums=new int[5];//声明一个数组
nums[0] = 10;
nums[1] = 20;
nums[2] = 30;
nums[3] = 40;
nums[4] = 50;
Console.WriteLine(nums[0]);//获取数组中第一个值
Console.WriteLine(nums[2]);//获取数组中第三个值

  那如何获取数组中的所有值呢?可以用for循环。

int[] nums = new int[5];
for (int i = 0; i < 5; i++)
{ 
 nums[0] = 10;
 nums[1] = 20;
 nums[2] = 30;
 nums[3] = 40;
 nums[4] = 50;
 Console.WriteLine(nums[i]);
 }
 Console.ReadKey();

求和、最大值 、最小值、 平均值

int[] nums = new int[] { -12, 90, -56, 89, 0, 345 };
 int max = int.MinValue; //求最大值的变量
 int min = int.MaxValue; //求最小值的变量
 int sum = 0;
 for (int i = 0; i < nums.Length; i++)
 {
      if (nums[i] > max)//求最大值
       {
        max = nums[i];
       }
           if (nums[i] < min) //求最小值
           {
            min = nums[i];
           }
                sum = sum + nums[i]; //求和
                 }

Console.WriteLine("最大值是{0},最小值是{1},和是{2},平均值是{3}", max, min, sum, sum / nums.Length);
Console.ReadKey();

数组排序

  使用Array.Sort()方法可以实现对数组排序,Array.Reverse()这个方法是反转,例:

int[] nums = new int[] { 2, 4, 43, 89, 76 };
Array.Sort(nums);// 排序 没用Array.Reverse()时是从小到大 用了后是从大到小
Array.Reverse(nums);//这个法是反转
for (int i = 0; i <nums.Length; i++)
{ Console.Write(nums[i]+"\t"); }
 Console.ReadKey();

数组的方法

static void Main(string[] args)
{
 int[] nums = new int[] {2, 4, 434, 42, -3 };
Program.SumArray(nums);
Console.ReadKey();

        }
 public static void SumArray(int[]nums)
 {
   int sum = 0;

   for (int i = 0; i < nums.Length; i++)
   {
      sum += nums[i];
   }
 Console.WriteLine("和为{0}",sum );
        }
    }
}

二维数组

  一维数组是使用一个整数来索引的,多维数组是使用两个或多个整数来索引的。常用的多维数组是二维数组,由行和列组成。
声明方法:
int[,] intArray = new int[a,b]
此数组可以表示由a行吧b列组成的二维表。
int[][]array=new int[]
例:

//显示1行3列的数
 int[,] intArray=new int[1,3];
 //第一行
 intArray[0, 0] = 100;
 intArray[0, 1] = 101;
 intArray[0, 2] = 102;
  //控制行
  for (int i = 0; i < 1; i++)
  {
  //控制列
for (int j = 0; j < 3; j++)
 {
  Console.Write("{0},{1}={2} ", i, j, intArray[i, j]);
 }
  //换行
 Console.WriteLine();
 }
 Console.ReadKey();

总结

  多敲代码,多敲代码,多理解。

相关文章