• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

c#里氏转换与集合

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1.里氏转换
1)子类可以赋值个父类
2)如果父类中装的是子类对象,那么可以将这个父类强制转换为子类对象。

3)子类对象可以调用父类的成员,但父类的对象不能调用子类的成员。


//子类对象可以赋给父类
            person p = new student();
          //父类中包含子类成员,可以将父类强制转换成子类。
            student ss = (student)p;
2.强制类型转换判断
is:表示A类型是否能强制转换成B,如果能够转换成功,则返回一个true,否则返回一个false。
as:表示类型转换。如果能够转换则返回对应的对象,否则返回一个null。
 if (p is student)
            {
                student st = (student)p;
                Console.WriteLine("转换成功");
            }
            else { Console.WriteLine("转换失败"); }

           //as 如:p as student p强制转换成student类型。
            student stu = p as student;
 

3.//创建一个集合ArrayList
            ArrayList list = new ArrayList();
            //集合中可以添加任意类型元素
           // list.Add主要用于添加单个元素
            list.Add(2);
            list.Add(3.14);
            //list.Add(new int[]{1,2,3,4,5,6});//这个不能直接输出,需要进行类型强制转换后才能输出
            //list.Range()用于添加集合元素
            list.AddRange(new int []{1,2,3,4,5,6});//采用range添加的集合能后用for输出。
            for (int i = 0; i < list.Count; i++)
            {
                Console.WriteLine(list[i]);
            }
            list.AddRange(list);//添加list集合
            //移除单个元素
            list.Remove(true);
            //根据下标移除元素
            list.RemoveAt(0);
            list.Clear();//清空集合

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

            list.Sort();//升序排列,但必须满足的条件是集合中的元素类型要一致

            list.Reverse();//将集合中的元素反转

            list.Insert(0,'1');//在指定下标前,插入单个字符
            list.InsertRange(0,new int []{1,2,3});//在指定的下标前插入一个集合

            bool b = list.Contains(1);//判断集合中是否包含某元素


5.ArrayList集合中的长度问题
每次集合中实际包含的元素的个数(count)超过了包含元素的个数(capacity)的时候,集合就会向内存中申请多开辟一赔的空间,来保证集合的长度一直够用。(按照2的倍数增大)

6.hashtable 键值对集合
var d = 2;//根据赋值推断变量的类型。

键值对集合中,键必须是唯一的,值可以重复。


ht.ContainsKey();//判断是否有某个键

ht.clear();//清空集合中的所有元素
ht.Remove();//根据键去移除元素

Hashtable ht = new Hashtable();
            //添加键值对到集合中去
            ht.Add(1 ,"张三");
            ht.Add(2,2);
            ht.Add(false ,"你是错五的");
            //添加数据的另一种方式   这种形式的添加数据,如果有键了,则会干掉原有的值,添加新的值
            ht[6] = "  xinglaisde";
            foreach(var item in ht.Keys)
            {
                Console.WriteLine("键{0} ,值{1}",item,ht[item]);
            }

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#LanguageSpecification5.0(翻译)目录发布时间:2022-07-10
下一篇:
C#几个经常用到的字符串的截取发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap