.net依赖下面哪项技术实现跨语言互用性 A.CLR B.CTS C.CLS D.CTT

Python012

.net依赖下面哪项技术实现跨语言互用性 A.CLR B.CTS C.CLS D.CTT,第1张

答案是CLS 公共语言规范,定义了所有支持.net framework语言的规范,VB.net和C#编译后生成的都是按照CLS规范的语句。

CLR公共语言运行库,是为了实现.net跨平台使用的。

CTS公共类型系统

CTT不记得了。

1.装箱、拆箱操作发生在: ( C )

A.类与对象之间 B.对象与对象之间

C.引用类型与值类型之间 D.引用类型与引用类型之间

2.用户类若想支持Foreach语句需要实现的接口是:( A )

A.IEnumerable B.IEnumerator

C.ICollection D.ICollectData

IEnumerable公开枚举数,该枚举数支持在非泛型集合上进行简单迭代。声明式的接口

IEnumerator支持对非泛型集合的简单迭代。实现式接口

3..Net Framework通过什么与COM组件进行交互操作?(C)

A.SideBy Side B.Web Service

C.Interop D.PInvoke

4..Net依靠以下哪一项技术解决COM存在的Dll Hell问题的?( A )

A.SideBy Side B.Interop

C.PInvoke D.COM+

5.装箱与拆箱操作是否是互逆的操作?( B )

A.是B.否

从任意类型都可以装箱为Object类型,可是从Object类型拆箱时,需要指定到特定类型。

6.以下哪个是可以变长的数组?( D )

A.Array B.string[]

C.string[N] D.ArrayList

7.用户自定义异常类需要从以下哪个类继承:( A )

A.Exception B.CustomException

C.ApplicationException D.BaseException

8.以下代码段中能否编译通过?请给出理由。

try

{

}

catch (FileNotFoundException e1)

{

}

catch (Exception e2)

{

}

catch (IOException e3)

{

}

catch

{

}

捕捉到Exception之后,就捕捉不到其它类型的异常了,可以将IOException放前面。

10.Net依赖以下哪项技术实现跨语言互用性?( C )

A.CLR B.CTS C.CLSD.CTT

11.请问: String类与StringBuilder类有什么区别?为什么在.Net类库中要同时存在这2个类?(简答)

如果要操作一个不断增长的字符串,尽量不用String类,改用StringBuilder类。两个类的工作原理不同:String类是一种传统的修改字符串的方式,它确实可以完成把一个字符串添加到另一个字符串上的工作没错,但是在.NET框架下,这个操作实在是划不来。因为系统先是把两个字符串写入内存,接着删除原来的String对象,然后创建一个String对象,并读取内存中的数据赋给该对象。这一来二去的,耗了不少时间。而使用System.Text命名空间下面的StringBuilder类就不是这样了,它提供的Append方法,能够在已有对象的原地进行字符串的修改,简单而且直接。当然,一般情况下觉察不到这二者效率的差异,但如果你要对某个字符串进行大量的添加操作,那么StringBuilder类所耗费的时间和String类简直不是一个数量级的。

12.以下哪个类是int的基类?(A)

A.Int32 B.Object C.ValueType D.Int16

对于一个实现了IDisposable接口的类,以下哪些项可以执行与释放或重置非托管资源相关的应用程序定义的任务?多选

A.Close B.Dispose C.Finalize D.using E.Quit

IDisposable 只有一个方法Dispose

严格意义来说,这道题出的不合理,或者说,答案不合理。

如果Close 释放的资源,当然是可以,可题目并没有说明。

Finalize 应该写成 析构函数,更加合理,但这样的话,在C#中是建议将析构函数名写成 ~类名

使用using把类的使用包起来,无疑是可以的。

甚至说Quit,如果方法里面包含了释放资源的语句,也是可以的。

综上所述,一定成立的是:BD

或者按照潜规则,可以选择ABCDE

因这些除D外,其它方法合理的话,就需要包含释放资源的代码或者调用。

这是典型对.net构架不理解造成的!

只要是.net编程,一定使用的是.net类库,必须是同运行版本的.net支持方可运行。而所谓的vb.net只是说编程的语言层使用的是vb语言而已。该语言在.net构架下被编译成为IL语言(MSIL,严格说来是IL的一个子集)。而上层的语言只是产生软件时所使用的一个不同语言规则而已,与IL已经没有任何相关性了。上层语言无论是C#还是VB,甚至是Java(J#)均只适应编程人员的一个策略,与整个构造没有多大的相关性。

.net的最终目的就是让不同的语言编程人员能协同工作,那么语言在其中的区别没有多大了,所有的运行核心都是由.net完成的,没有必须依赖于.net。这是没有任何疑问的。

vb.net就是.net,只是表示用VB语言人的称呼,用C#的则称其为C#.net,但不管是哪种,它是无法脱离.net的。