第二十二讲:深入数组

本文分享了作者个人练习编写的数组代码,并强调虽然代码可能不够规范,但注释详细,旨在帮助同层次的读者复习理解。此外,还预告了关于StringBuilder的研究,通过从MSDN复制原代码并翻译注释,作者实践了各个方法,以巩固理论知识。
摘要由CSDN通过智能技术生成

    1. 多维数组
        一般数组也称为一维数组,用一个整数来索引
        多维数组用两个或多个整数来索引
        在C#中声明一个二维数组,维与维之间以逗号隔开
        语法:
            数据类型[,] 数组变量=new 数据类型[3,4]
            
        如何获取某一维中的元素个数
            数组变量.GetLength(维数)
        例:
            int[,] person = new int[3,4];
            则是二维数组,获取某一维的项数如下:
            int i = person.GetLength(0); //一维
            int j = person.GetLength(1); //二维
            
            结果:i=3,j=4
            
        注意stringBuilder 对字符串类的使用
        
        数组在初始化时应指定每一维的大小(也称为秩)
        使用两个整数作为索引器,来访问数组中的元素
        
        实例操作练习?
        
    2. 锯齿数组
        大盒子套小盒的方式实现的
        语法:
            数据类型[][] 数组变量名=new 数据类型[3][]
            
        初始化:
            数组变量名[0] =new int[3]{3,3,3};
            数组变量名[1] =new int[4]{4,4,4,4};
            数组变更名[2] =new int[5]{5,5,5,5,5};
            
        实例操作?
        
    3. Array类
        重要的两个属性 length 和 getLength
        
        使用Array类创建数组,排序和复制
        
        CreateInstance() 方法,是创建从0开始的指定数据类型的一维数组
        
        SetValue() 方法,是将某值设置在一维数组指定位置的元素
        
        GetValue() 方法,读取数组中的值
        
        Sort() 方法,对指定数组中的元素进行排序
        
        Clone() 方法,拷贝指定的数组
        
    4. ArrayList
        使小可按需要动态增加的数组实现
    
        什么是ArrayList?
        ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处:
        1. 动态的增加和减少元素
        2. 实现了ICollection和IList接口
        3. 灵活的设置数组的大小
  
    数组具有以下属性:
        1.数组可以是一维、多维或交错的。
        2.数值数组元素的默认值设置为零,而引用元素的默认值设置为 null。
        3.交错数组是数组的数组,因此,它的元素是引用类型,初始化为 null。
        4.数组的索引从零开始:具有 n 个元素的数组的索引是从 0 到 n-1。
        5.数组元素可以是任何类型,包括数组类型。

 

贴出我个人练习写的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;

namespace Con22
{
    class Program
    {
        static void Main(string[] args)
        {
            //交错数组
            Console.WriteLine("******交错数组*******");
            string[][] JuChi = new string[2][];
            JuChi[0] = new string[] {"你是我的眼","眼前黑不是黑" };
            JuChi[1] = new string[3] {"是不是上帝在我","眼前","遮住了眼" };

            foreach(string[] i in JuChi)
            {
                foreach (string s in i)
                {
                    Console.WriteLine(s);  
                }
            }

            Console.WriteLine("\n******研究Array数组*******");
            //
            Array array;

            var str = "单单";

            //CreateInstance() 方法,是创建从0开始的指定数据类型的一维数组
            array = Array.CreateInstance(str.GetType(), 5);

            //SetValue() 方法,是将某值设置在一维数组指定位置的元素
            array.SetValue("追求", 0);
            array.SetValue("快乐", 1);
            array.SetValue("感受", 3);
           
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值