相关:
List相关: https://blog.csdn.net/qq_42672770/article/details/107494677
Array与 List比较: https://blog.csdn.net/qq_42672770/article/details/108972239
一、数组
1、变量是程序运行是在内存中存储发生变化的容器;
2、变量可以存储单个数据,而数组可以存储多个变量,并且互不影响,和谐共处;
3、数组的特点:长度固定、类型相同;
4、数组用于存储长度固定,类型相同变量的容器
二、数组的分类:
一维数组、二维数组、多维数组、不规则数组
三、数组的应用:
创建、赋值、应用
四、声明数组:
//定义一个已知长度为包含100个整数类型元素的一维数组
int[] arr = new int[100];
//定义一个未知长度,直接赋值的包含三个字符串的一维数组
string[] name1 = new string[]{"张三",“李四”,“王五”}
数组初始化的几种方式 :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace OneArray
{
class Program
{
static void Main(string[] args) //数组初始化的几种方式,注意赋值利用 {} 实现
{
int[] arrOld; //定义一个包含整型元素的空数组
arrOld=new int[5]{ 30, 32, 40, 25, 35 }; //给这个数组初始化,新建一个包含5个整型元素的数组
int[] arrOld1 = {30,20,212 };
int[] arrOld2 = new int[4] { 1, 2, 3, 4 };
int[] testArray=new int[10];
for (int i = 0; i < 10; i++)
{
testArray[i] = i * 3; //对数组赋值前需要初始化数组长度
}
Console.WriteLine("员工年龄:");
foreach (int n in arrOld) //使用foreach语句循环遍历一维数组中的元素
{
Console.WriteLine("{0}", n + "岁 "); //输出数组中的元素
}
Console.ReadLine();
}
}
}
五、C#多维数组
1、C#支持多维数组。多维数组又称为矩阵数组。
2、声明一个string变量的二维数组
string [,] names;
3、声明一个int变量的三维数组:
int [ , , ] m;
4、二维数组
多维数组最简单的形式就是二维数组。一个二维数组,在本质上,是一个一维数组的列表。一个二维数组可以被认为是一个带有X
行和Y列的表格。下面是一个二维数组,包含3行4列:
Column0 Column1 Column2 Column3
a[0][0]a[0][1]a[0][2]a[0][3]a[1][0]a[1][1]a[1][2]a[1][3]a[2][0]a[2][1]a[2][2]a[2][3]因此,数组中的每个元素是使用形式为a[i][j]的元素名称来标识的,其中a是数组的名称,i和j是唯一标识a中每个元素的下标。
5、初始化二维数组
多维数组可以通过在括号内为每行指定值来进行初始化。下面是一个带有3行4列的数组:
int [,] a = new int [3,4]{
{0,1,2,3}, /*初始化索引号为0的行*/
{4,5,6,7}, /*初始化索引号为1的行*/
{8,9,10,11}}; /*初始化索引号为2的行*/
6、访问二维数组元素
二位数组中的元素是通过使用下标(即数组的行索引和列索引)来访问。例如:
int val = a[2,3];
上面的语句将获取数组中第三行第四个元素。
下面是使用循环来处理二维数组:
using System;
namespace ArrayAppLication
{
Class MyArray
{
static void Main(string[] args)
{
/*一个带有5行2列的数组*/
int[,] a = new int[5,2]{{0,0},{1,2},{2,4},{3,6},{4,8}};
int i,j; //定义两个循环变量
/*输出数组中每个元素的值*/
for(i=0;i new { Word = v, Key = i })
.FirstOrDefault(s => s.Word.Contains("abc"))
.Key;
list.index(某个元素) 例:
p=list.index(value)
p是返回查到找元素value的索引位置
Array类的方法的用法:
using System;
namespace ArrayApplication
{
class MyArray
{
static void Main(string[] args)
{
int [] n = new int[10]; // 声明: n 是一个带有 10 个整数的数组
int i,j;
for ( i = 0; i < 10; i++ ) // 赋值: 初始化数组 n 中的元素
{
n[ i ] = i + 100;
}
for (j = 0; j < 10; j++ ) // 访问: 输出每个数组元素的值
{
Console.WriteLine("Element[{0}] = {1}", j, n[j]);
}
Console.ReadKey();
}
}
}
输出结果:
Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109
二维数组:
int [,] a = new int [3,4] // 声明一个3行4列的二维数组
{
{0, 1, 2, 3} , /* 初始化索引号为 0 的行 */
{4, 5, 6, 7} , /* 初始化索引号为 1 的行 */
{8, 9, 10, 11} /* 初始化索引号为 2 的行 */
};
using System;
namespace ArrayApplication
{
class MyArray
{
static void Main(string[] args)
{
/* 声明: 一个带有 5 行 2 列的数组 */
int[,] a = new int[5, 2] {{0,0}, {1,2}, {2,4}, {3,6}, {4,8} };
int i, j;
/* 访问:输出数组中每个元素的值 */
for (i = 0; i < 5; i++)
{
for (j = 0; j < 2; j++)
{
Console.WriteLine("a[{0},{1}] = {2}", i, j, a[i,j]);
}
}
Console.ReadKey();
}
}
}
输出结果:
a[0,0]: 0
a[0,1]: 0
a[1,0]: 1
a[1,1]: 2
a[2,0]: 2
a[2,1]: 4
a[3,0]: 3
a[3,1]: 6
a[4,0]: 4
a[4,1]: 8
数组细节:
概念描述多维数组C# 支持多维数组。多维数组最简单的形式是二维数组。交错数组C# 支持交错数组,即数组的数组。传递数组给函数您可以通过指定不带索引的数组名称来给函数传递一个指向数组的指针。参数数组这通常用于传递未知数量的参数给函数。Array 类在 System 命名空间中定义,是所有数组的基类,并提供了各种用于数组的属性和方法。