C# 高级编程个人笔记搬运 五(数组和元祖)

按照书本中的内容是要先写泛型的,但是因为上一篇刚写完值类型和引用类型在虚拟内存的操作,所以我就把数组和元祖提前写,正好当做复习。

对于同一个类型的多个对象,我们可以使用集合和数组。C#用特殊的记号声明、初始化和使用数组。Array类在后台发挥作用,它为数组中元素的排序和过滤提供了几个方法。使用枚举器,就可以迭代数组中的所有元素。

对于不同类型的多个对象,可以使用Tuple(元组)类型。

数组是一种数据结构。在声明数组时,应先定义元素的类型,其后是一对空方括号,后面是变量名。在声明了数组之后,我们需要为数组的元素分配内存。因为数组时引用类型,所以我们必须用new来给它分配堆上的内存。我们还可以在声明数组时,使用数组的初始化器为数组的每个元素赋值。如果我们在声明时使用初始化器为数组赋值,那就可以不必指定数组的大小,因为编译器会自动统计元素的个数)。如:

{
    // 声明数组
    int[] arr;

    // 为数组分配内存
    arr = new int[4];

    // 还可以为数组元素赋值,但必须在声明时
    arr = new int[4]{1,2,3,4};

    // 简化写法
    int[] arr = {1,2,3,4};
}

如果你不知道数组应包含多少个元素个数,那你应该用集合而不是数组。

访问数组元素的下标都是从0开始,0代表第一个数组元素。数组不仅可以声明值类型的元素,还可以声明引用类型的元素,而且往往使用引用类型的元素还挺常见要注意的是,使用引用类型如类类型,那你需要为该类型里面的每个元素都要初始化值。如:

public class Person
{
    public string name;
    public int age;

    public void GETAge()
    {
        DO.....
    }
}

public class M
{
    // 使用类的实例作为数组元素
    Person[] myPerson= new Person[2];

    // 每次初始化都是初始化这个对象
    myPerson[0] = new Person{ name = "马云",age = 55};
    myPerson[1] = new Person{ name = "totoro",age = 18};
}

结合上一篇托管堆的内容,回忆下,myPerson是存储在栈上的一个变量。

。补个值类型的图:

 

声明多维数组,如:

i
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值