C#数组基础和数组常用的API

首先 数组就是一组数据,本身就是一种类型(引用类型),但它中存储的元素(项)也有数据类型所以可以说是复合类型。

数组可以分为一维数组,多维数组和交错数组,最常用的就是一维数组。

一维数组的定义:数据类型+[],                                                                                                     二维数组的定义:数组类型+[,]                                                                                                       数数组的长度可以明确指出,也可以不指定,没有初始化时,需要指定长度,有初始化时,长度可以用省略。例如:int[] int1=new [3];      int [] int2 =new [] {1,2,3}      还可以通过索引进行初始化,索引从0开始,到长度-1结束,索引不能越界 .                                                                         例如:int[1]=1;    int[2]=2;    int[3]=3;                                                                                                 数组一但创建,长度基本上是固定的,所以数组的Length长度值是只读,不能修改的。

在C#中数组支持支持数组中存储不同数据类型的元素。如:object[]                                                   object[] objects = new object[] { 1, 2, 'a', "hello", false, new object() { } };

创建数组实例后,其每个元素都有默认值,string的为空字符串,int的为0,bool的为 false,引用类型的为 null;

判断数组是几维,就看[]中逗号,0个逗号是一维数组,1个就是二维,依次类推。

数组不能定义成常量。

对数组的基本操作(重要)常用的API:静态Array,动态

1.追加 array.Append()

在数组的末尾再追加一个元素   array = array.Append();()里面填写要追加的元素。

2.循环 Array.ForEach()

数组的循环可以用for、while、foreach也可以用Array.ForEach()。实例:            Array.ForEach(array, (item) =>
{
    Console.WriteLine(item);
});                           其中array表示要循环的数组,item定义的一个变量,用来存放数组中的元素。

反转顺序,可以直接调用Array.Reverse(array);影响原数组,没有返回值

排序,默认按正序,可以是用Array.Sort()  例如:

int[] i100 = { 7, 5, 8, 3, 6 };
Array.Sort(i100);
foreach (var item in i100)
{
    Console.WriteLine(item);
}

3.修改

可以同过索引直接修改数组:arr[0] = 10;  // 通过索引修改,注意影响原数组。

也可以通过使用Array.Clear()将数组中指定范围的元素修改为默认值

4.查询

可以使用array.Where查询满足条件的元素,例如:var filterArr = arr.Where((item) =>
                                                                                  {
                                                                                            return item > 100;
                                                                                   }).ToArray();

也可以是用 Array.Find和Array.FindAll去进行查询。例如:

Student oneStudent = Array.Find(students2, (item) =>
{
    // item===一个学生对象
    return item.Name.EndsWith("2");
});

 Student[] stus = Array.FindAll(students2, (item) =>
 {
     // item===一个学生对象
     return item.Name.EndsWith("张");
 });

Array.Exitst判断数组中是否存在满足条件的项,存在返回true,否则返回false。

bool result1 = Array.Exists<string>(array, (item) =>
{
    bool r = item.StartsWith("a");
    return r;
});

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值