C# 2.23 Hashtable集合/foreach/集合ArrayList/异常处理

1.Hashtable集合

//引入命名空间using System.Collections;
            //天气预报为例
            Hashtable hit = new Hashtable();
            //集合中的顺序是乱序的
            //键值对中是一一对应关系 键是不可以重复的 值是可以重复的
            hit.Add("北京", "晴天");
            hit.Add("上海", "雨");
            hit.Add("石家庄", "霾");
            hit.Add("广州", "雨");
            Console.WriteLine(hit.Contains("郑州"));//contains包含
            Console.WriteLine("郑州");
            foreach (DictionaryEntry item in hit)
            {
                Console.WriteLine(item.Key+" "+item.Value);
            }
            //不能通过索引查找里面的值  通过下面的方式 那么该集合会把1当作一个key来处理

            Console.WriteLine(hit[1]);

2.foreach循环 遍历的值不可修改

 //强类型
            int num = 0;
            //弱类型
            var num1 = 10;
            var str1 = "123";
            Console.WriteLine(num1);
            Console.WriteLine(str1);
            ArrayList list = new ArrayList();
            list.Add("123");
            list.Add(456);
            foreach (var item in list)
            {
                if (item.ToString()=="123")
                {
                    list.Remove("123");
                }
                Console.WriteLine(item);

            }

3.集合 ArrayList 集合的加减

  //添加元素
            ArrayList arraylist = new ArrayList();
            arraylist.Add(new Program());
            //添加一个集合
            arraylist.AddRange(arraylist);
            //清空操作
            arraylist.Clear();
            //移除指定下标的元素
            arraylist.RemoveAt(2);
            //移除指定元素
            arraylist.Remove(1);

            //如果移除对象不存在 不会报错

4.C# 2.23 Hashtable集合/foreach/集合ArrayList/异常处理

5.

(1) try…catch:1. catch (DivideByZeroException e)2.  catch (FormatException)

(2)  finally:存在的try-catch 不影响返回的结果

(3) throw:不会对异常进行处理,只会抛出一个异常对象