c#编程基础学习之数组

目录

  • 数组
  • 排序数组
  • System.Linq 命名空间
  • 其他创建数组的方法

数组

数组用于在单个变量中存储多个值
声明数组需定义带方括号[]的变量类型;

string[] cars = {"MARRY", "BOB", "Far", "Aada"};	//字符串数组
int[] myNum = {10, 20, 30, 40};	//整数数组
访问数组元素:通过索引号访问:Console.WriteLine(cars[0]);	//输出cars数组的第一个元素
更改数组元素:通过索引号更改:cars[0] = "Opel";	//把cars数组的第一个元素改成Opel
查询数组长度:使用Length属性:Console.WriteLine(cars.Length);	//输出数组cars有多少个元素
遍历数组:for循环遍历数组元素,并使用Length属性指定循环应运行的次数:

实例

string[] cars = {"MARRY", "BOB", "Far", "Aada"};
for (int i = 0; i < cars.Length; i++) 
{
  Console.WriteLine(cars[i]);	//输出 cars 数组中的所有元素
}

foreach循环,专门用于循环数组中的元素:

语法

foreach (type variableName in arrayName) 
{
  // 要执行的代码块
}
string[] cars = {"MARRY", "BOB", "Far", "Aada"};
foreach (string i in cars) 	//使用foreach不需要使用计数器(Length属性),可读性更强
{
  Console.WriteLine(i);
}

排序数组

Sort(),它将按字母降序或升序对数组进行排序:
实例

// 对字符串进行排序
string[] cars = {"MARRY", "BOB", "Far", "Aada"};
Array.Sort(cars);
foreach (string i in cars)
{
  Console.WriteLine(i);
}
// 对整数进行排序
int[] myNumbers = {5, 1, 8, 9};
Array.Sort(myNumbers);
foreach (int i in myNumbers)
{
  Console.WriteLine(i);
}

System.Linq 命名空间

其他有用的数组方法,如Min, Max, Sum,可以在 System.Linq命名空间找到:
实例

using System;
using System.Linq;

namespace MyApplication
{
  class Program
  {
    static void Main(string[] args)
    {
      int[] myNumbers = {6, 1, 8, 9};
      Console.WriteLine(myNumbers.Max());  // 返回最大值
      Console.WriteLine(myNumbers.Min());  // 返回最小值
      Console.WriteLine(myNumbers.Sum());  // 返回元素的总和
    }
  }
}

其他创建数组的方法

// 创建一个包含四个元素的数组,稍后添加值
string[] cars = new string[4];

// 创建一个包含四个元素的数组并立即添加值
string[] cars = new string[4] {"MARRY", "BOB", "Far", "Aada"};

// 创建一个由四个元素组成的数组而不指定大小
string[] cars = new string[] {"MARRY", "BOB", "Far", "Aada"};

// 创建一个包含四个元素的数组,省略 new 关键字,并且不指定大小(最常使用)
string[] cars = {"MARRY", "BOB", "Far", "Aada"};

如果声明数组并稍后初始化它,则必须使用new关键字:

// 声明一个数组
string[] cars;

// 添加值,使用 new
cars = new string[] {"MARRY", "BOB", "Far"};

// 不使用 new 添加值(这会导致错误)
cars = {"MARRY", "BOB", "Far"};
上一篇:C++模版简单认识与使用-正如标题而言,这里只是对模版的简单认识与使用,方便后面博客介绍stl中一些容器的实现,更复杂详细的模版相关的内容将会在模版进阶中介绍。


下一篇:蓝桥杯嵌入式学习笔记(9):RTC程序设计