学习笔记——C#数组

声明
    语法:
        type[] arrayName;
    实例:
        int[] arr;
    注意,数组的长度不是声明的一部分,而且数组在访问之前必须初始化。
    数组类型可以使基本数据类型,也可以是枚举或者其他类型
初始化
    可以通过new运算符创建数组并将数组元素初始化为其默认值
    实例:
        int[] arr=new int[5]{1,2,3,4,5};
        string[] arrStr={"ac","bd","de","fg"};
使用
    可以使用foreach语句或者数组下标将数组中的元素值读出来
    int[] arr={1,2,3,4,5};
    foreach(int n in arr)
        Console.WriteLine("{0}",n+"");
    Console.ReadLine();


二维数组声明:
    语法:
        type[,] arrayName;
    实例:
        int[,] arr=new int[2,2];
二维数组的初始化
    实例:
        int[,] arr=new int[2,2]{{1,2},{3,4}};


动态二维数组的声明:
    语法:
        type[] arrayName;
        arrayName=new type[n1,n2,...]
        其中,arrayName是数组名称,type数组存储数据的数据类型,
        n1、n2是数组的长度,可以是整数的常量或者变量
    实例:
        int m=2;
        int n=2;
        int[,] arry2=new int[m,n];


对数组排序:
    可以使用Array类中的Sort和Reverse方法。其中Sort方法对于一维Array数组中的元素
    进行排序,Reverse方法用于反转一维Array数组或部分Array数组中元素的顺序
    实例:
        int arr=new int[]{3,9,27,6,18,12,21,15};
        Array.Sort(arr);//Sort对数组进行升序排列,所排列数组不能为空,不能是多维
        Array.Reverse(arr);//对数组进行反向排序


ArrayList类的概述:
    ArrayList位于System.Collections命名空间下,它可以动态的添加和删除元素。但注意,
    ArrayList只能是一维形式,而数组可以是多维的
    构造:
        public ArrayList();
                ArrayList List=new ArrayList();//以默认的大小(16)来初始化内部数组
        public ArrayList(ICollection);
                int[] arr=new int[]{1,2,3,4,5,6,7,8,9};
                ArrayList List=new ArrayList(arr);//以一个ICollection对象来构造,并将该集合中元素添加到ArrayList中
        public ArrayList(int);
                ArrayList List=new ArrayList(10);//用指定大小初始化内部的数组
    常用属性:
        Capacity        获取或设置ArrayList可包含的元素数
        Count           获取ArrayList中实际包含的元素数
        IsFixedSize     获取一个值,该值指示ArrayList是否具有固定大小
        IsReadOnly      获取一个值,该值指示ArrayList是否为只读
        IsSynchronized  获取一个值,该值指示是否同步对ArrayList的访问
        Item            获取或设置指定索引处的元素
        SyncRoot        获取可用于同步ArrayList访问的对象


ArrayList元素的添加:
    Add方法:
        该方法用来将对象添加到ArrayList集合的结尾处
        语法格式:
            public virtual int Add(Object value);
            value要添加到末尾处的元素,返回值是添加了value的ArrayList索引值
        实例:
            int[] arr=new int[]{1,2,3,4,5,6};
            ArrayList List=new ArrayList(arr);
            List.Add(7);
    Insert方法:
        该方法用来将元素插入ArrayList集合的指定索引处
        语法格式:
            public virtual void Insert(int index,Object value);
            其中index是从0开始的索引值,在该位置处插入value
            注意:如果ArrayList实际存储元素数已经等于ArrayList可以存储的元素数,则会通过自动
            分配内存数组增加ArrayList的容量,并在添加新元素之前将现有元素复制到新数组中
        实例:
            int[] arr=new int[]{1,2,3,4,5,6};
            ArrayList List=new ArrayList(arr);
            List.Add(3,7);


ArrayList元素的删除:
    Clear方法:
        该方法用来从ArrayList中移除所有元素
        语法格式:
            public virtual void Clear()
        实例:
            int[] arr=new int[]{1,2,3,4,5,6};
            ArrayList List=new ArrayList(arr);
            List.Clear();
    Remove方法:
        该方法用来从ArrayList中移除特定对象的第一个匹配项
        语法格式:
            public virtual void Remove(Object obj);
            obj为要从ArrayList中移除的元素,若ArrayList中不包含obj则不发生变化
        实例:
            int[] arr=new int[]{1,2,3,4,5,6};
            ArrayList List=new ArrayList(arr);
            List.Remove(3);
    RemoveAt方法:
        该方法用来移除ArrayList的指定索引处的元素
        语法格式:
            public virtual void RemoveAt(int index);
            index是索引值,是从0开始计算的
        实例:
            int[] arr=new int[]{1,2,3,4,5,6};
            ArrayList List=new ArrayList(arr);
            List.RemoveAt(0);
    RemoveRange方法:
        该方法用来从ArrayList中移除一定范围的元素
        语法格式:
            public virtual void RemoveRange(int index,int count);
            index是要移除的元素的范围的起始索引,count为要移除的元素
        实例:
            int[] arr=new int[]{1,2,3,4,5,6};
            ArrayList List=new ArrayList(arr);
            List.RemoveRange(3,2);


ArrayList的查找:
    在ArrayList集合中查找时,可以使用ArrayList类提供的Contains方法、IndexOf方法
    和LastIndexOf方法。其中IndexOf与LastIndexOf用法与string字符串类的同名方法一样
    Contains方法:
        用来确定某元素是否存在ArrayList集合中
        语法格式:
            public virtual bool Contains(Object item);
        实例:
            int[] arr=new int[]{1,2,3,4,5,6};
            ArrayList List=new ArrayList(arr);
            Console.Write(List.Contains(2));//输出值为:True


Hashtable概述:
    Hashtable通常称为哈希表,它表示键/值对的集合。这些键/值对根据键的哈希代码进行组织。
    它的每个元素都是一个存储在DictionaryEntry对象中的键/值对。键不能为空引用,但值可以
    构造函数:
        1.使用默认的初始容量、加载因子、哈希代码提供程序和比较器来初始化Hashtable类的新空实例
            public Hashtable()
        2.使用指定的初始容量、默认加载因子。默认哈希代码提供程序和默认比较器来初始化Hashtable新的空实例
            public Hashtable(int capacity);
    常用属性:
        Count           获取包含在Hashtable中的键/值对的数目
        IsFixedSize     获取一个值,该值指示Hashtable是否具有固定大小
        IsReadOnly      获取一个值,该值指示Hashtable是否为只读
        IsSynchronized  获取一个值,该值指示是否同步对Hashtable的访问
        Item            获取或设置与指定键相关联的值
        Keys            获取包含Hashtable中的键的ICollection
        SyncRoot        获取可用于同步ArrayList访问的对象
        Values          获取包含Hashtable中的值的ICollection


Hashtable元素的添加:
    Add方法:
        用来将带有指定键和值的元素添加到Hashtable中
        语法格式:
            public virtual void Add(Object key,Object value);
            key为要添加的元素的键,value为要添加的元素的值,可以为空
        实例:
            Hashtable hashtable=new Hashtable();
            hashtable.Add("id","BH001");
            hashtable.Add("name","TM");
            hashtable.Add("Sex","man");
            Console.WriteLine(hashtable.Count);//输出为3


Hashtable元素的删除
    Clear方法:
        用来从Hashtable中移除所有元素
        语法格式:
            public virtual void Clear();
        实例:
            Hashtable hashtable=new Hashtable();
            hashtable.Add("id","BH001");
            hashtable.Add("name","TM");
            hashtable.Add("Sex","man");
            hashtable.Clear();
            Console.WriteLine(hashtable.Count);//输出为0
    Remove方法:
        用来从Hashtable中移除带有指定键的元素
        语法格式:
            public virtual void Remove(Object key);
        实例:
            Hashtable hashtable=new Hashtable();
            hashtable.Add("id","BH001");
            hashtable.Add("name","TM");
            hashtable.Add("Sex","man");
            hashtable.Remove("Sex");
            Console.WriteLine(hashtable.Count);//输出为2


Hashtable元素的遍历:
    foreach(DictionaryEntry dicEntry in hashtable)
    {
        Console.WriteLine("\t"+dicEntry.Key+"\t"+dicEntry.Value);
    }


Hashtable元素的查找:
    Contains方法:
        用来确定Hashtable中是否包含特定键
        语法格式:
            public virtual bool Contains(Object key);
        实例:
            Hashtable hashtable=new Hashtable();
            hashtable.Add("id","BH001");
            hashtable.Add("name","TM");
            hashtable.Add("Sex","man");
            Console.WriteLine(hashtable.Contains("id"));//输出为True
    ContainsKey方法:
        与Contains方法实现的功能。语法都相同
    ContainsValue方法:
        用来确定Hashtable中是否包含特定值
        语法格式:
            public virtual bool ContainsValue(Object value);
        实例:
            Hashtable hashtable=new Hashtable();
            hashtable.Add("id","BH001");
            hashtable.Add("name","TM");
            hashtable.Add("Sex","man");
            Console.WriteLine(hashtable.ContainsValue("id"));//输出为False
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值