C#数组与集合

数组

数组的局限性
学习数组的集合类1.数组长度的不变性(一旦确定数组就确定了长度),如果想动态的调整数组的长度就需要用到arraylist,如果定义了长度为2的数组,如果超出长度就会出现越界异常

/**
 * 
 * 
 * 学习数组的集合类1.数组长度的不变性(一旦确定数组就确定了长度)
 *
 * arraylist
 * 
 * 
 * 
 * 
 * **/
using System;

namespace arr
{
    class MainClass
    {
        public void test()
        {
            int[] intarray = new int[2];
            intarray[0] = 12;
            intarray[1] = 232;
            //输出类容
            for (int i = 0; i < intarray.Length; i++)
            {
                Console.WriteLine(intarray[i]);
            }
        }
        public static void Main(string[] args)
        {
            MainClass obj = new MainClass();
            obj.test();
        }
    }
}

arraylist

引入集合类名空间
using System.Collections;//集合类名空间
通过实例化对象来实例化一个arraylist
ArrayList al = new ArrayList();
ArrayList al = new ArrayList(100);//也可以提前的开辟空间大小
通过arraylist.Add();来增加元素(可以动态的改变长度,无序程序员来维护)
arraylist可以放入任意类型的数据
arraylist.Add(num)在集合末尾添加num
arraylist.RemoveAt(num);//按照下标删除
arraylist.Remove(num);//按照数值删除
arraylist.Clear();//清除数据
arraylist.Insert(插入位置,插入数值);//在指定位置插入指定数值。

/**
 * 
 * 
 * 学习数组的集合类1.数组长度的不变性(一旦确定数组就确定了长度)
 *
 * arraylist
 * 
 * 
 * 
 * 
 * **/
using System;
using System.Collections;//集合类名空间
namespace arr
{
    class MainClass
    {
		public void test2()
        	{
            	ArrayList al = new ArrayList();
            	al.Add(11);
            	al.Add(22);
            	al.Add(33);
            	al.Add(444);
            	al.Add(55);
            	al.Add(666);
            	al.Add(77);
            	al.Add(88);

            	//插入元素方法
            	al.Insert(2,888);//在集合索引下标为2的位置上,插入888数值

            	//删除数据
            	al.RemoveAt(1);//按照下标删除
            	al.Remove(444);//按照数值删除

            	//清除数据
            	al.Clear();
            

            	//显示集合中的数据
            	for (int i = 0; i < al.Count; i++)
            	{
                	Console.WriteLine(al[i]);
            	}
        	}
        	public static void Main(string[] args)
        	{
            	MainClass obj = new MainClass();
            	obj.test2();
        	}
    	}
	}

foreach(遍历方式)

 foreach (var item in collection)
            {

            }

可以直接遍历整个数组
foreach缺点:不能修改数组里面的元素,比如不能在foreach大括号里面添加al.RemoveAt(1);al.Remove(444);al.Add(88);等语句

hashtable

在这里插入图片描述

/**
 * 
 * 
 * 
 * 键值对
 * 主要用于查找
 * 
 * 
 * 
 * 
 * **/

using System;
using System.Collections;

namespace hashtable
{
    class MainClass
    {
        public void test1()
        {
            Hashtable ht = new Hashtable();
            ht.Add("liuguozhu","刘老师的个人信息");
            ht.Add("sjy", "sjy的个人信息");
            ht.Add("zhangsan", "张三的个人信息");
            ht.Add("slisi", "s李四的个人信息");

            //查找
            Console.WriteLine(ht["sjy"]);

            //遍历键
            foreach (string item in ht.Keys)
            {
                Console.WriteLine(item);
            }
            //遍历值
            foreach (string item in ht.Values)
            {
                Console.WriteLine(item);
            }
        }
        public void test2()
        {
            Hashtable ht = new Hashtable();
            person per = new person("sjy",180,70);
            person per2 = new person("liuguozhu", 170, 70);
            person per3 = new person("zhangsan", 160, 70);
            person per4 = new person("lisi", 150, 70);
            ht.Add("liuguozhu", per);
            ht.Add("sjy", per2);
            ht.Add("zhangsan", per3);
            ht.Add("slisi", per4);


            //遍历值
            foreach (person item in ht.Values)
            {
                Console.WriteLine(item.StrName);
                Console.WriteLine(item.IntHeight);
                Console.WriteLine(item.InWeight);
            }


        }
        public static void Main(string[] args)
        {
            MainClass obj = new MainClass();
            obj.test2();
        }
    }
}



namespace hashtable
{
    public class person
    {
        private string _StrName;
        private int _IntHeight;
        private int _IntWeight;
        public string StrName
        {
            get { return _StrName; }
            set { _StrName = value; }
        }
        public int IntHeight
        {
            get { return _IntHeight; }
            set { _IntHeight = value; }
        }
        public int InWeight
        {
            get { return _IntWeight; }
            set { _IntWeight = value; }
        }

        public  person (string name,int height,int weight)
        {
            _StrName = name;
            _IntHeight = height;
            _IntWeight = weight;
        }
    }
            
   
}

二维数组

 private int[,] CardsArray = new int[4,5];
    // Start is called before the first frame update
    void Start()
    {
        CardsArray[0, 0] = 10;
        CardsArray[0, 1] = 20;

        for (int i = 0; i < 4; i++)
        {
            for (int j= 0; j < 5; j++)
            {
                Debug.Log(CardsArray[i,j]);
            }
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值