1.4 C#语言基础-数组

数组

  • 类型确定,唯一
  • 有索引范围
  • 下标从0开始
  • 由抽象基类型array派生的引用类型
  • 通过new运算符创建,可以是多维数组
  • 数组在使用之前必须进行初始化

一维数组的声明和使用

// type[] arrayName;
//声明一个int数组
int[] arry;

//声明的时候指定数组的长度为5;这个时候的初始化值为0

int[] arry2=new int[5];

//声明的时候初始化值 -- 初始化的值个数必须和指定的长度匹配

int[] array3=new int[5]{1,2,3,4,5};

// 字符串数组
string [] arrstr={"Sun","Mon","Tue"};


数组遍历

// one
int [] arr={1,2,3,4,5};
foreach(int n in arr)
{
    Console.WriteLine("{0}",n);
}

二维数组的声明和使用

//type[,] arrayName;

//声明int数组 2行2列
int[,] arr=new int[2,2];

//初始化
int[,] arr=new int[2,2]{ {1,2}, {3,4} };

//等价
int[,] arr=new int[,]{ {1,2}, {3,4} };

GetLength(int num):获取数组第几个纬度的长度

int [,] arr=new int[3,2]{{1,2},{3,4},{5,6}};

//获取行
int row= arr.GetLength(0);

//获取列
int col=arr.GetLength(1);
//循环输出每个元素
for(int i=0;i<row,i++)
{
    for(int j=0;j<col;j++)
    {
       Console.Write(Convert.ToString(arr[i][j])+"  ");
    }
    ConsoleWriteLine();
}

动态数组的声明和使用

//声明
//type[] arraryName;
arrayName=new type[n1,n2....] ;//一维或者多维

int m=3;
int n=2;
int [,] array=new int[m,n];

数组中的方法

  • Sort:对数组排序,改变数组本身的值
  • Reverse:对数组继续操作
  • 以上适用于一维
int[] arr = new int[] { 6, 5, 77, 44, 12, 21 };
Array.Sort(arr);
foreach(int n in arr)
{
    Console.Write(n.ToString()+"  ");
}
Console.WriteLine();
Array.Reverse(arr);
foreach (int n in arr)
{
    Console.Write(n.ToString()+"  ");
}
Console.WriteLine();

ArrayList集合

  • 动态的添加和删除元素,插入
  • 属于比较高级的动态数组,不等同于数组
  • 只是一维形式,没有多维

ArrayList三个构造器

//1.默认构造器,默认初始化大小16
public ArrayList();
//demo
ArrayList lst= new ArrayList();
for(int i=0;i<10;i++)
{
    lst.Add(i);
}

//2. 使用一个ICollection 对象来构造
public ArrayList=new ArrayList(ICollection);

//demo
int[] arr= new int[]{1,2,3,4};
ArrayList lst= new ArrayList(arr);

// 3.初始化大小的ArrayList
public ArrayList(int);

//demo
ArrayList lst=new ArrayList(10);
for(int i=0;i<10;i++)
{
    lst.Add(i);
}

ArrayList集合类的常用属性

属性 说明
Capacity 获取或者设置ArrayList的元素个数
Count 获取实际包含的元素数
IsFixedSize 获取一个值,指示ArrayList是否具有固定大小
IsReadOnly 获取一个值,指示ArrayList是否为只读
IsSynchronized 获取一个值,指示是否同步对ArrayList的访问
Item 获取或者设置指定索引出的元素
SyncRoot 获取可用于同步ArrayList的访问对象

ArrayList常用方法

方法名称 说明
Add(item) 返回int下标索引,添加元素到尾部
Insert(index,Object value) 在index索引出插入元素,可为空,无返回值
Clear() 清空元素
Remove(Object obj) 移除第一个匹配项
RemoveAt(int index) 移除指定索引出的元素
RemoveRange(index,count) 从index开始,删除count个元素
Contains(Object item) 返回bool用来确定某个元素是否在其中
IndexOf(Object value) 返回第一个匹配的索引,否则返回-1
LastIndexOf(Object value) 反向查找,并返回查找到的索引,否则返回-1

ArrayList方法使用示例

//Add添加元素
ArrayList arr=new ArrayList();
for(int i=0;i<10;i++)
{
    arr.Add(i);
}

// Insert插入元素
arr.Insert(6,99);

//Remove删除元素

arr.Remove(6);

//RemoveAt 删除下标是2的元素
arr.RemoveAt(2);

//RemoveRange()删除一定数量
arr.RemoveRange(2,4);//从下标是2的开始,连续删除4个元素

//判断是否有数字2 Contains
Console.WriteLine(arr.Contains(2));

//查找数字99的索引,找不到返回-1 IndexOf();
Console.WriteLine(arr.IndexOf(99));
//从后面查找数字99的索引,找不到返回-1 LastIndexOf();
Console.WriteLine(arr. LastIndexOf(99));

//清空Clear()
arr.Clear();

posted @ 2018-12-14 16:45  随时静听  阅读(286)  评论(0编辑  收藏  举报