.NET/C#⾯试题汇总系列:集合、异常、泛型、 LINQ、委托、EF
异常是⼀种耗费资源的机 制,每当异常被抛出时,异常堆栈将会被建⽴,异常信息将被加载,⽽通常这些⼯作的成本相对较⾼,并 且在尝试性类型转换时,这些信息都没有意义。定义委托基本上就是定义⼀个新 的类,所以可以在任何地⽅定义类的相同地⽅定义委托,也就是说,可以在另⼀个类的内部定义,也可以 在任何类的外部定义,还可以在名称控件中把委托定义为定义为顶层对象。⼀般来说,返回另外⼀个序列(通常为IEnumerable或 IQueryable)的操作,使⽤延迟执⾏,⽽返回单⼀值的运算,使⽤⽴即执⾏。,消耗的时间多⼀ 些。
1. ilist 接⼝与list的区别是什么?
ilist 泛型接⼝是 icollection 接⼝的⼦代,并且是所有⾮泛型列表的基接⼝。 ilist 实现有三种类别:只 读、固定⼤⼩、可变⼤⼩。 ⽆法修改只读 ilist。 固定⼤⼩的 ilist 不允许添加或移除元素,但允许修改现 有元素。 可变⼤⼩的 ilist 允许添加、移除和修改元素。
ilist 是个接⼝,定义了⼀些操作⽅法这些⽅法要你⾃⼰去实现,当你只想使⽤接⼝的⽅法时,这种⽅式⽐较 好.他不获取实现这个接⼝的类的其他⽅法和字段,有效的节省空间.
list 是个类型 已经实现了ilist 定义的那些⽅法。
list list11 =new list ();
是想创建⼀个list,⽽且需要使⽤到list的功能,进⾏相关操作。 ⽽
ilist ilist11 =new list ();
只是想创建⼀个基于接⼝ilist的对象的实例,只是这个接⼝是由list实现的。所以它只是希望使⽤到ilist 接⼝规定的功能⽽已。
2.泛型的主要约束和次要约束是什么?
当⼀个泛型参数没有任何约束时,它可以进⾏的操作和运算是⾮常有限的,因为不能对实参进⾏任何类型 上的保证,这时候就需要⽤到泛型约束。泛型的约束分为:主要约束和次要约束,它们都使实参必须满⾜ ⼀定的规范,c#编译器在编译的过程中可以根据约束来检查所有泛型类型的实参并确保其满⾜约束条件。
(1)主要约束
⼀个泛型参数⾄多拥有⼀个主要约束,主要约束可以是⼀个引⽤类型、class或者struct。如果指定⼀个引 ⽤类型(class),那么实参必须是该类型或者该类型的派⽣类型。相反
相关文章:
-
第一次使用海康视觉算法平台VisionMaster 4.3.0,项目中要使用这个平台进行视觉处理并获取结果。…
-
-
ASMX 文件在 ASP.NET WebForms 中提供了创建 Web 服务的便捷方式,通过公开 Web 方法,允许远程客户端调用这些方法并获取数据。本文介绍了 ASMX 文件的…
-
1.先下载Visual Studio 2022 ,我选的是Community2022版本。9.可自己创建数据源~我已经有了,就不多建立了,很简单,只需要服务名&账号&am…
-
-
1.打开vs,创建一个新项目,分别在搜素框中选择C#、Windows、桌面,然后选择Windows窗体应用(.NET Framework)2.打开“视图-服务器资源管理器”,右键单…
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论