视频剪辑软件 IntelliJ IDEA教程 华为鸿蒙 控制跳转 server request signalr vue网站 vue基础教程 php抽奖源码 打印缩放怎么设置 spark文档 matlab生成对角矩阵 mysql新增用户和权限 mysql分区表优劣分析 matlab取实部 python安装 python的random模块 python等待10秒 python中import用法 java操作mysql java开发接口 java读取文件内容 java集合遍历 linux云服务器 linuxsudo命令 网站数据分析工具 野德天赋 数组求和 男网红头像 工程地质手册 狮子狗打野天赋 ps蒙版抠图 小米手机开发者模式 软件工程pdf resample javascript基础教程 kms 最终幻想15最强武器 dnf混沌行者加点
当前位置: 首页 > 学习教程  > 编程语言

C# Array,ArrayList,Dictioneary,Hashtable,List 集合的简单运用知识点记录

2020/10/8 18:12:11 文章标签:

前言 “不积跬步,无以至千里;不积小流,无以成江海” Array 简单赋值,取值,及排序 Array arr Array.CreateInstance(typeof(string), 5);//赋值,用“SetValue”给数组赋值arr.SetValue("金庸",0);arr.SetValue("红楼梦"…

前言

“不积跬步,无以至千里;不积小流,无以成江海”

Array 简单赋值,取值,及排序

            Array arr = Array.CreateInstance(typeof(string), 5);
            //赋值,用“SetValue”给数组赋值
             arr.SetValue("金庸",0);
             arr.SetValue("红楼梦",1);
             arr.SetValue("三国演义",2);
             arr.SetValue("水浒传",3);
             arr.SetValue("西游记",4);

            Console.WriteLine("数组元素有:"+ arr.Length);  //” arr.Length“为数组长度
            Console.WriteLine("数组元素有:\n");
            //用for 循环,把值都给循环出来;
            for (int i = 0; i <  arr.Length; i++)
            {
                Console.WriteLine("第{0}个元素为:[{1}]",i+1, arr.GetValue(i)); //取值用“.GetValue”表示
            }

Array.Sort(); 数组元素排序
Array.Reverse();数组元素反转

ArrayList 简单使用

            //添加引用  using System.Collections;
            ArrayList list = new ArrayList();  //实例化一个弱类型的集合         此集合,无论任何类型都能放入进去
            list.Add(Convert.ToDateTime("2020-04-01"));                        //所以一点都不安全称为【弱类型】
            list.Add("第一");                                                   
            list.Add(false);
            int[] num = new int[] { 8,7,6,9,3,5,8,4,32,9,85};
            list.AddRange(num);
            for (int i = 0; i < list.Count; i++)
            {
                if (i == 0)
                {
                    Console.WriteLine("{0}" + ((DateTime)list[i]).AddDays(10) + "{1}" + list[i].GetType(), "这是值:", "这是数据类型");
                  
                }
                else
                {
                    Console.WriteLine("{0}" + list[i] + "{1}" + list[i].GetType(), "这是值:", "这是数据类型");
                }
                Console.ReadKey();   //任意键继续
            }

            //list.AddRange(list);

list.Clear();清空所有元素
list.Remove(true);删除单个元素 写谁就删谁
list.RemoveAt(0);根据下标去删除元素
list.RemoveRange(0, 3);根据下标去移除一定范围的元素
list.Insert(1, “插入的”);在指定的位置插入一个元素
list.InsertRange(0, new string[] { “张三”, “李四” });在指定的位置插入一个集合
bool b = list.Contains(1);判断是否包含某个指定的元素

Dictioneary集合的运用

           Dictionary<string, string> Dy = new Dictionary<string, string>();
            Dy.Add("Name","张三");
            Dy.Add("Sex", "男");
            Dy.Add("Ipone", "13896547896");
            if (Dy.ContainsKey("Name"))  //判断键值是否存在
            {
                Console.WriteLine("已存在");
            }
            foreach (var items in Dy)
            {
                Console.WriteLine("键名称"+items.Key+"键值:"+items.Value);
            }

Hashtable 的运用

一、使用hashtable前,需要添加System.Collections的引用。
using System.Collections;
二、添加元素
Hashtable ht =new Hashtable();
ht.Add(key,value);// key,value可以是任何类型
如果key有重复会掷出运行时异常,你可以这样处理。
if(ht.Contains(key)==false)
{
ht.Add(key,value);// 不存在则添加
}
也可以这样处理,效率要高些
Try
{
ht.Add(key,value);
}
Catch
{
// 不处理重复异常
}

   Hashtable ht = new Hashtable(); //创建一个Hashtable实例
            ht.Add("E", "e"); //添加key/value键值对
            ht.Add("A", "a");
            ht.Add("B", "b");
            ht.Add("C", "c");
            ht.Add("D", "d");
            bool b = ht.Contains("E");
            //判断哈希表是否包含特定键,其返回值为true或false
            Console.WriteLine("判断哈希表是否包含E键(有就返回true/false):“"+b+"”");
           
            Console.WriteLine("the E key:exist");
            ht.Remove("C"); //移除一个key/value键值对
            Console.WriteLine("\n此处输出Key[“A”]:\t" + ht["A"]); //此处输出a
            foreach (DictionaryEntry myde in ht)
            {
                Console.WriteLine("\t{0}\t{1}", myde.Key, myde.Value); //输出键和值
            }
            ht.Clear(); //移除所有元素
            Console.WriteLine(ht["A"]); //此处将不会有任何输出
            foreach (DictionaryEntry my in ht)
            {
                Console.WriteLine("\t{0}\t{1}", my.Key, my.Value); //输出键和值
            }
            Console.WriteLine("这里不会有输出"); //这里不会有输出
            Console.ReadLine();


五、判断键是否已经存在
ht.Contains(key) // 这个刚才已经用过了
六、遍历键
foreach(Object key in ht.Keys)
{
}
七、遍历值
foreach(Object value in ht.Values)
{
}
八、同时遍历键值对
foreach(DictionaryEntry de in ht) 
{
    Console.WriteLine(de.Key);// 取得键
    Console.WriteLine(de.Value);// 取得值
}

List 集合的运用

             //泛型集合
             //创建泛型集合对象
             List<int> list = new List<int>();
             list.Add(1);
             list.Add(2);
             list.Add(3);
 
             list.AddRange(new int[] { 1, 2, 3, 4, 5, 6 });
             //list.AddRange(list);//可以添加集合本身
 
             //List泛型集合可以转换为数组
             int[] nums = list.ToArray();//集合装换为数组
             Console.WriteLine("集合转换为数组输出:");
             for (int i = 0; i < nums.Length; i++)
             {
                 Console.WriteLine(nums[i]); 
             }
             List<int> listInt= nums.ToList();//数组转换为集合
             Console.WriteLine("数组转换为集合输出:");
             for (int i = 0; i <listInt.Count; i++)
             {
                 Console.WriteLine(listInt[i]);
             }
             Console.ReadKey();

强类型,弱类型

在这里插入图片描述


本文链接: http://www.dtmao.cc/news_show_250002.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?