46、下列关于 C# 中索引器理解正确的是 (c)
A、索引器的参数必须是两个或两个以上
B、索引器的参数类型必须是整数型
C、索引器没有名字
D、以上皆非
47、以下关于 ref 和 out 的描述哪些项是正确的? ( 多选 ) ( ACD )
A、使用 ref 参数,传递到 ref 参数的参数必须最先初始化。
B、使用 out 参数,传递到 out 参数的参数必须最先初始化。
C、使用 ref 参数,必须将参数作为 ref 参数显式传递到方法。
D、使用 out 参数,必须将参数作为 out 参数显式传递到方法
48、以下叙述正确的是: (B C )
A、接口中可以有虚方法。
B.、一个类可以实现多个接口。
C.、接口不能被实例化
D.、接口中可以包含已实现的方法。
49、下哪些可以作为接口成员? ( 多选 ) ( ABDE )
A、方法
B、属性
C、字段
D、事件
E、索引器
50、在C#中,下列代码的运行结果是(D)。(选择一项)
Int[]num = new int[5]{1,3,2,0,0}
Array,Reverse(num);
Foreach(intI in num){
Console.Write(i);
}
A.00123
B.12300
C.00132
D.00231
51、在C#中,(c)访问修饰符修饰的变量只能由当前程序集访问。
A.public
B.protected
C.internal
D.private
52、下列属性定义不正确的是C
A、public int ID{get;set;}
B、public int ID{get; private set;}
C、public int ID{get;}
D、prviate int id=0;public intID{get{return id;}{set{id=value;}}}
53、有关lock关键字理解不正确的是D
A、lock关键字是将语句标记为临界区,方法是获取给定的对象的互斥锁,执行该语句,然后释放该锁。
B、lock关键字可确保当一个线程位于代码的临界区时,另一个线程不会进入该临界区,如果其他线程试图进入锁定的代码,则它将一直等待,直到该对象释放。
C、lock其实就是Monitor,在代码开始处调用Enter,而在块的结尾调用Exit
D、在程序中鼓励使用lock(this)、lock(typeof(MyType))、Lock(“myLock”)
54、有关接口的实现说法不正确的是C
A、实现接口的类,类中对应的成员必须是公共的、非静态的,并且与接口成员具有相同的名称和签名
B、接口实现分位显示实现和隐式实现
C、如果类继承多个接口,并且含有具有相同成员名称的两个接口,如果我们实现接口成员的话,必须使用显示实现接口的方式
D、类的属性和索引器可以为接口上定义的属性或索引器定义额外的访问器
55、有关接口的理解不正确的是C
A、不能实例化接口
B、接口不包括方法的实现
C、接口可以包含事件、索引器、方法、属性、字段
D、类和结构可以从多个接口继承
56、有关接口说法不正确的是C
A、接口可以继承接口
B、类可以继承接口
C、结构体不能继承接口
D、继承接口的任何非抽象类型都必须实现接口的所有成员
57、常用的字符串判空串方法:( A)
A、bool isEmpty = (str.Length==0)
B、bool isEmpty = (str==String.Empty)
C、bool isEmpty = (str=="")
D、都一样
58、在C#中,关于Array和ArrayList的维数,以下说法正确的是(A)。(选择一项)
A. Array可以有多维,而ArrayList只能是一维
B.Array只能是一维,而 ArrayList可以有多维
C.Array和 ArrayList 都只能是一维
D. Array和ArrayList都可以是多维
59、在C#中,下列代码运行后,变量Max的值是(C)(选择一项)Int a=5,b=10,c=15,Max=0;
Max =a>b?a:b;
Max =c<Max?c:Max;
A.0
B.5
C.10
D.15
60、接口是一种引用类型,在接口中可以声明(a),但不可以声明公有的域或私有的成员变量
A、方法、属性、索引器和事件;
B、方法、属性信息、属性;
C、索引器和字段;
D、事件和字段;
61、以下是一些C#中的枚举型的定义,其中错误的用法有()
a)public enumvar1{ Mike = 100, Nike = 102, Jike }
b)public enumvar1{ Mike = 100, Nike, Jike }
c)public enum var1{ Mike=-1 , Nike, Jike }
d)public enum var1{ Mike , Nike , Jike }
62、下列关于构造函数的描述正确的是(c)
A、构造函数可以声明返回类型。
B、构造函数不可以用private修饰
C、构造函数必须与类名相同
D、构造函数不能带参数
63、在.Net中,关于CLR和IL,以处描述正确的是(D)(选择一项)
A.应用程序在CLR环境被编译成IL,IL将能够被任何计算机指令性集成
B..应用程序被编译两次,第一次生成IL,IL在运行时候被CLR快速编译
C.应用程序被编译两次,但是第二次CLR编辑比第一次慢
D.借助CLR,IL被编译成机器代码并且能够在不同的计算机指令集下被执行
64、CLR为.NET提供以下方面的功能或者服务.除了(D)。(选择一项)
A.无用存储单元收集
B.代码验证和类型安全
C.代码访问安全
D.自动消除程序中的逻辑错误
65、有关fixed关键字说法不正确的是C
A、fixed语句禁止垃圾回收器重定位可移动的变量
B、fixed语句只能出现在不安全上下文中
C、fixed语句可以在数据结构或类中创建带有固定大小数组的缓冲区
D、fixed语句用于创建固定数组时,数组类型只能是bool、byte、char、short、int、long、sbyte、ushort、uint、ulong、float、double中的一种。
66、下列那个类型是引用类型的是C
A、enum类型
B、struct类型
C、String类型
D、int类型
67、有关属性(System.Attribute)是用于P/Invoke的属性类型是C
A、CoditionalAttribute
B、ObsoleteAttribute
C、DllImportAttribute
D、AttributeUsageAttribute
68、有关属性(System.Attribute)是根据预处理标识符执行方法的属性类型是C
A、CoditionalAttribute
B、ObsoleteAttribute
C、DllImportAttribute
D、AttributeUsageAttribute
69、有关异步委托Control.BeginInvoke(界面)和myDelegate.BeginInvoek实现方式说法正确的B
A、Conrol.BeginInvoek和MyDelegate.BeginInvoek都是使用PostMessage发送消息。
B、Conrol.BeginInvoek是使用PostMessage发送消息,MyDelegate.BeginInvoek是使用线程池的
C、Conrol.BeginInvoek和MyDelegate.BeginInvoek都是使用线程池的
D、Conrol.BeginInvoek是使用线程池的,MyDelegate.BeginInvoek是使用PostMessage发送消息
70、& 和&&的区别是A
A、&是算术”与”运算符,用于整形和bool;&&是条件”与”运算符,仅用于bool
B、&和&&是算术”与”运算符,用于整形和bool
C、&&是算术”与”运算符,用于整形和bool;&是条件”与”运算符,仅用于bool
D、&和&&是条件”与”运算符,仅用于bool