集合

ArrayList

每次集合中实际包含的元素个数(count)超过了可以包含的元素的个数(capcity)的时候,

集合就会向内存中申请多开辟一倍的空间,来保证集合的长度一直够用。

  class Program

    {

        static voidMain(string[] args)

        {

            //创建了一个集合对象

            ArrayListlist = new ArrayList();

            //集合:很多数据的一个集合

            //数组:长度不可变、类型单一

            //集合的好处:长度可以任意改变  类型随便

            list.Add(1);

            list.Add(3.14);

            list.Add(true);

            list.Add("张三");

            list.Add('男');

            list.Add(5000m);

            list.Add(new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9 });

            Person p =new Person();

            list.Add(p);

            list.Add(list);

            //list.AddRange(new string[]{})

            for (int i =0; i < list.Count; i++)

            {

                if(list[i] is Person)

                {

                    ((Person)list[i]).SayHello();

                }

                else if(list[i] is int[])

                {

                    for (int j =0; j < ((int[])list[i]).Length; j++)

                    {

                        Console.WriteLine(((int[])list[i])[j]);

                    }

                }

                else

                {

                    Console.WriteLine(list[i]);

                }

 

 

                //Console.WriteLine(list[i]);

            }

            Console.ReadKey();

        }

    }

 

    public class Person

    {

        public voidSayHello()

        {

            Console.WriteLine("我是人类");

        }

}

 

ArrayList各种方法

ArrayList list = new ArrayList();

            //添加单个元素

            list.Add(true);

            list.Add(1);

            list.Add("张三");

            //添加集合元素

            list.AddRange(new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9 });

            //list.AddRange(list);

 

            //list.Clear();清空所有元素

            //list.Remove(true);删除单个元素写谁就删谁

            //list.RemoveAt(0);根据下标去删除元素

            //list.RemoveRange(0, 3);根据下标去移除一定范围的元素

            // list.Sort();//升序排列

            //list.Reverse();反转

            //list.Insert(1, "插入的");在指定的位置插入一个元素

            //list.InsertRange(0, new string[] { "张三", "李四" });在指定的位置插入一个集合

            //bool b = list.Contains(1);判断是否包含某个指定的元素

            list.Add("颜世伟");

            if(!list.Contains("颜世伟"))

            {

                list.Add("颜世伟");

            }

            else

            {

                Console.WriteLine("已经有这个屌丝啦");

            }

            for (int i =0; i < list.Count; i++)

            {

                Console.WriteLine(list[i]);

            }

            Console.ReadKey();

 

集合长度的问题;

每次集合中实际包含的元素个数(count)超过了可以包含的元素的个数(capcity)的时候,

集合就会向内存中申请多开辟一倍的空间,来保证集合的长度一直够用。

 

count 表示这个集合中实际包含的元素的个数

capcity 表示这个集合中可以包含的元素的个数

 

 

HashTable集合

键值对集合

在键值对集合当中,我们是根据键去找值的。

键值对对象[键]=值;

*****:键值对集合当中,键必须是唯一的,而值是可以重复的

   //创建了一个键值对集合对象

            Hashtable ht= new Hashtable();

            ht.Add(1, "张三");

            ht.Add(2, true);

            ht.Add(3, '男');

            ht.Add(false, "错误的");

            ht.Add(5, "张三");

            ht[6] = "新来的";//这也是一种添加数据的方式

            ht[1] = "把张三干掉";

            ht.Add("abc", "cba");

 

            //abc----cba

            if(!ht.ContainsKey("abc"))

            {

                //ht.Add("abc", "哈哈哈");

                ht["abc"] = "哈哈哈";

            }

            else

            {

                Console.WriteLine("已经包含abc这个键!!!");

            }

 

 

           // ht.Clear(); //移除集合中所有的元素

            ht.Remove(3);

 

            foreach (varitem in ht.Keys)

            {

                Console.WriteLine("键是-----{0}==============值是{1}", item, ht[item]);

            }

            //在键值对集合中 是根据键去找值的

            //Console.WriteLine(ht[1]);

            //Console.WriteLine(ht[2]);

            //Console.WriteLine(ht[3]);

            //Console.WriteLine(ht[false]);

            //Console.WriteLine("==================================");

            //for (int i = 0; i < ht.Count; i++)

            //{

            //   Console.WriteLine(ht[i]);

            //}

            Console.ReadKey();

 

 

Var  推断类型

 

            //var:根据值能够推断出来类型

            //c#是一门强类型语言:在代码当中,必须对每一个变量的类型有一个明确的定义;js是一门弱类型语言

            var n =15;

            var n2= "张三";

            var n3= 3.14;

            var n4= 5000m;

            var n5= true;

            var n6= '男';

            Console.WriteLine(n.GetType());

            Console.WriteLine(n2.GetType());

            Console.WriteLine(n3.GetType());

            Console.WriteLine(n4.GetType());

            Console.WriteLine(n5.GetType());

            Console.WriteLine(n6.GetType());

            Console.ReadKey();

 

8、编码格式

产生乱码的原因就是因为你保存这个文件的编码格式跟你打开这个文件的编码格式不一样。

 

 

9、文本文件

拖到txt文件中,还能看得懂的文件就是文本文件。

 

Path类

  string str = @"C:\3000soft\RedSpider\Data\Message\老赵.wav";

            //获得文件名

            Console.WriteLine(Path.GetFileName(str));

            //获得文件名但是不包含扩展名

            Console.WriteLine(Path.GetFileNameWithoutExtension(str));

            //获得文件的扩展名

            Console.WriteLine(Path.GetExtension(str));

            //获得文件所在的文件夹的名称

            Console.WriteLine(Path.GetDirectoryName(str));

            //获得文件所在的全路径

            Console.WriteLine(Path.GetFullPath(str));

            //连接两个字符串作为路径

            Console.WriteLine(Path.Combine(@"c:\a\" , "b.txt"));

 

          

            //int index = str.LastIndexOf("\\");

            //str = str.Substring(index + 1);

            //Console.WriteLine(str);

            Console.ReadKey();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值