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();

转载于:https://www.cnblogs.com/ssjt/articles/10120108.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值