第一章  Microsof.NET Framework 概述

1..NET Framework 可以运行在下列哪些操作系统之上,并为托管程序提供支持?(    )

  • WindowsNT 4.0
  • Windows 2000 Professional
  • Windows 98 SE
  • WindowsXP Home Edition               答案:A,B,D

2..NET 公共语言运行时的安全引擎为.NET 托管程序代码的执行提供基于_________的安全机制。

  • 用户和密码
  • 证书
  • 证据
  • 数据加密                              答案:C

3.在.NET Framework Class Library中提供(   )技术,以使托管应用程序可以以断开式的方式访间各种数据源。

  • ODBC.NET
  • ADO
  • ADO.NET
  • SQL Server                               答案:C

4..NET 公共语言运行时的(   )功能模块负责管理元数据以及加载、部署类

  • 代码管理器
  • 垃圾回收
  • 类加载器
  • 安全引擎        答案:C

5..NET垃圾收集器要求程序员编写托管程序时,(   )。

  • 不必为对象分配内存,但在使用完毕后必须释放它
  • 不必为对象分配内存,且在使用完毕后不必释放它
  • 为对象分配内存,在使用后必须释放它
  • 为对象分配内存,但在使用完毕后不必释放它          答案:D

6..NET Framework类库中的“命名空间”是一种(   )。

  • 类类型
  • 命名规范            答案:A

7..NET Framework Class Library的作用是(   )。

  • 是.NET托管程序的执行引擎
  • 供.NET托管程序使用的类型集合
  • .NET托管程序的编译程序
  • 支持.NET托管程序的操作系统      答案:B

8.在.NET编程中,术语“托管环境”是指(   )。

  • .NET Framework类库
  • .NET公共语言运行时
  • .NET所基于的操作系统
  • Windows窗体程序           答案:B

9.在.NET Framework Class Library中提供(    )技术,以使托管应用程序可以以断开式的方式访问各种数据源。

  • ODBC.NEI
  • ADO. NET
  • ADO
  • SQL Server       答案:B

第二章  托管执行环境的介绍

1.ADO.NET 使用_______命名空间的类访问SQL Server 数据库中的数据。

  • System.Data.OleDb
  • System.Data.SqlClient
  • System.Xml.Serialization
  • System.IO                           答案:B

2.下列的Main 方法的定义是否为合法的程序入口点?

namespace MyProgram{

public static void Main() {MyClass.DoSomething();}

class MyClass{

public static void DoSomething(){⋯⋯}

}

}

  • 合法
  • 不合法                                 答案:B

3.在命令行下使用csc命令编译C#源程序时,可使用(   )参数来说明程序中引用的其他程序集。

/linkresource

/reference

  • out
  • target 答案:B

4.在命令行下使用csc命令编译C#源程序时,可使用(   )参数来说明生成Windows可执行文件。

  • /target:winexe
  • /target:library
  • /target:exe
  • /target:module 答案:A

5.在命令行下使用csc命令编译C#源程序时,可使用(   )参数来说明生成控制台可执行文件。

  • /target:winexe
  • /target:library
  • /target:exe
  • /target:module 答案:C

6.在命令行下使用csc命令编译C#源程序时,可使用()参数来说明生成库文件。

  • /target : library
  • /target : winexe
  • /target : moudule
  • /target : exe 答案:A

7.在命令行下使用csc命令编译C#源程序时,可使用(   )参数来说明生成添加到其他程序集的模块。

  • /target : library
  • /target : winexe
  • /target : moudule
  • /target : exe 答案:C

8.下列哪些编程语言不区分源程序中标识符的大小写?

  • C
  • C#
  • Microsoft Visual Basic
  • Microsoft Visual C++ 答案:C

9.当拥护执行托管程序时,JIT将MSIL转换成本地代码的方式是(   )。

  • 调用程序某个功能时,总是先将该功能代码转换成本地代码,然后执行
  • 在加载程序时首先将一半的托管代码转换为本地代码,找到程序入口点开始执行。在需要时再转换另一半
  • 第一次调用程序某功能时将其功能代码转换为本地代码,然后缓存这些本地代码并执行;下次调用该功能时直接执行本地代码
  • 在加载程序时一次将所有代码都转换成本地代码,然后找到程序入口点开始执行   答案:C

10.(   )工具程序以MSIL文本文件作为输入,生成包含MSIL代码的二进制PE文件。

  • Ildasm.exe
  • Vbc.exe
  • Ilasm.exe
  • Csc.exe 答案:C

11.可以使用(    )程序查看托管二进制PE文件的元数据和反汇编代码。

  • Ildasm.exe
  • Ilasm.exe
  • Notepad.exe
  • Word. exe 答案:A

12.C#窗体程序入口点方法的定义为(    )。

  • public static void Main(){……}
  • public void Main(){……}
  • public static int WinMain(){……}
  • public static int main(){……} 答案:A

第三章  使用组件

1.ASP.NET页的默认扩展名是(   )。

  • aspx
  • asax
  • ascx
  • html 答案:A

2.XML Web服务基于(   )协议在应用程序之间传输XML消息。

  • SOAP
  • IP
  • DCOM
  • internat 答案:A

3.在C#中,使用(   )语句捕获异常。

  • if
  • while
  • try和catch
  • do 答案:C

4.在C#命令行程序中,末被程序显示处理的异常将(   )。

  • 导致.NET输出错误消息并退出程序
  • 导致.NET以消息框来警告用户
  • 导致操作系统崩溃
  • 被忽略 答案:A

5.在C#窗口应用程序中,未被程序显示处理的异常将(b   )。

  • 导致.NET输出错误消息并退出程序
  • 导致.NET以消息框来警告用户
  • 导致操作系统崩溃
  • 被忽略 答案:B

6.在C#程序中,为了给类型CompCS.StringComponent起一个别名CSStringComp,其正确的语法是(   )。

  • Deal CompCs.StringComponent as CSStringComp;
  • Alias CSStringComp = CompCS.STringComponent;
  • Imports CSStringComp = CompCS.StringComponent;
  • Using CSStringComp = CompCS.StringComponent;          答案:D

7.在编写ASP.NET页面时,若希望仅在页面第一次被初始化时执行某个操作,则应将相应代码写入(   )事件处理程序中。

  • 页面的Load
  • 页面的init
  • 页面的PreRender
  • 页面的Disposed消息 答案:B

8.某ASP.NET网页的@Page <mailto:ASP.NET网页的@Page>指令如下:

<%@ Page language ="c#"  Description="c#  Framework程序设计"%>

为了在该网页中引用命名空间CompVB,应在@Page 指令后使用(    )。

  • <%@ import NameSpace ="CompVB"%>
  • <%@ import NameSpace as CompVB %>
  • <%@ imports CompVB %>
  • <%@ using Comp; %> 答案:A

9.下列哪些选项是.NET 异常处理的特点?(    )

  • .NET 异常对象是一种特殊格式的32 位整型值
  • C#代码中抛出的异常对象,只能在C#编写的代码中捕获
  • 无法跨越进程边界引发和捕获异常对象
  • 不同编程语言抛出/捕获异常对象的句法可以不同    答案:D

第四章  部署与版本控制

1.一个程序集中能否有多个类包含下列Main()方法?

public static void Main(){……}

  • 不可以
  • 可以 答案:A

2.若程序集MyWork.dll的配置文件存在,则应起名为(   )。

  • Config.info
  • Config.sys
  • MyWork.config
  • MyWork.dll.config 答案:D

3.可使用(   )工具将一个具有强名称的程序集安装到全局程序集缓存。

  • gacutil.exe
  • sn.exe
  • csc.exe
  • cl.exe 答案:A

4.某程序集的版本为:“2.0.1.112”,则该程序集的内部版本号为

  • 1
  • 0
  • 2
  • 112       答案:D

5.某程序集A的版本为:“2.0. 1.12”,程序集B的版本为:“2. 1. 1. 112"则按照.NET版本控制约定,两个程序集的关系为(   )。

  • B是A的不兼容版本
  • B是A的可能兼容版本
  • B是A的快速修订版本
  • B是A的完全兼容版本 答案:A

6.程序MyClass. exe编译时引用强名称程序集MyStringer.dll的1.0.0.1版本;现在,MyStringer.dll开发者提供了一个新的1.0.0.12版本。请问,除了将新版本拷贝并覆盖旧版本文件外,还应(   )。

  • 修改Machine.config文件中MyStringer的版本绑定信息
  • 不必作任何改动
  • 修改MyStringer.d11.config文件中MyStringer的版本绑定信息
  • 修改MyClass.exe.config文件中MyStringer的版本绑定信息      答案:D

7.程序MyJob.exe引用程序集MyClass.dll。默认情况下,MyJob.exe只与(   )一起运行。

  • .NET找到的第一个MyClass.dll程序集
  • 当前最旧版本的MyClass.dll程序集
  • 当前最新版本的MyClass.dll程序集
  • 它生成时所用版本的MyClass.dll程序集 答案:D

8..NET程序集的配置文件使用(   )格式书写。

  • VB源程序
  • C#源程序
  • XML
  • HTML 答案:C

9.在对程序集进行反汇编得到的MSIL清单中,类MyClass的缺省实例构造函数的名为(   )。

  • .Constructor
  • .MyClass
  • .ctor
  • .cctor 答案:C

10.在对程序集进行反汇编得到的MSIL清单中,类MyClass的静态构造函数的名为(   )。(也称类构造函数)

  • .Constructor
  • .MyClass
  • .ctor
  • .cctor 答案:D

11.一个程序集中能否有多个类包含下列Main()方法?(   )

public static void Main(){……}

  • 可以
  • 不可以 答案:B

12.一个多文件程序集中包含1 个程序集清单文件、3 个模块文件和2 个资源文件。下列哪些信息包含在模块文件的元数据中?

  • 程序集名称
  • 程序集引用的的文件列表
  • 本模块代码
  • 本模块中声明的数据类型信息        答案:D

第五章  通用类型系统

1.枚举类型MyEnum的基础类型为int,我们可以使用(   )方法返回任一枚举成员的值。

  • GetHashCode
  • Typeof
  • Parse
  • ToString 答案:A

2.为了创建一个位标记类型,应在枚举类型的定义前附加(   )属性。

  • [Bits]
  • [Tags]
  • [Int32]
  • [Flags] 答案:D

3.接口IMyInterface中只包含一个属性MyName.该属性满足:

公有

可读可写

字符串类刑

则该接口的定义应为(   )。

  • interface MyInterface{ string MyName{get;set;}}
  • interface MyInterface{ int    MyName{get;set;}}
  • interface MyInterface{ string MyName{get{}set{}}
  • interface MyInterface{ string MyName{get{};set{};}       答案:A

4.设计类MyClass时,若希望字段data只能被同一程序集的其他类访问,可将该字段的询问修饰符设为(   ).

  • internal
  • protected
  • private
  • public
  • internal protected         答案:A

5.通用类型系统中的一切值类型都是继承自(   )。

  • System.Base
  • System.Type
  • System.Int32
  • System.Value 答案:D

6.类MyClass定义如下:

class MyClass{

static int data;

}

现在需要添加一个类构造函数。下列选项中哪个是正确的?

static MyClass() {……}

static MyClass(int i){……]

public static MyClass() {……}

public MyClass() {……} 答案: A

(   )是.NET类型中唯一没有继承System.Object的类型。

枚举

结构

接口

类 答案:C

.NET类型系统中所有的引用类型都继承自System.Object且不继承自(   )类型。

System.Object

System.Type

System.Value

System.Int32 答案:C

C#中的类型int对应.NET类库中的(   )。

System.Int16

System.Int32

System.Single

System.Int64 答案:B

类MyClass没有定义构造函数,如下所示。则C#编译器提供的缺省实例构造函数的签名应为(   )。

class MyClass

{

public int i;

}

public MyClass(int i)

MyClass()

public MyClass()

public void MyClass() 答案:C

请问下列枚举类型MyEnum的定义是否合法?(   )

enum MyEnum:char

{

one = ‘1’,

two = ‘2’,

three = ‘3’,

}

合法

不合法 答案:B

下列说法是否正确?(   )

引用类型就是所有继承自System. Object 的类型。

错误

正确 答案:A

类型的使用

x,y都是类MyClass的变量。为了测试这两个变量是否引用同一个对象,应使用类MyClass的下列哪个方法进行判断?(   )

GetHashCode

Equals

ReferenceEquals

ToString 答案:C

float类型的值可以隐式转换成(  )类型的值而保持值不被改变。

decimal

double

long

int 答案:B

在.NET类库中,可以使用(   )类进行基元类型间的转换。

System.Switch

System.Type

System.Convert

System.Value 答案:C

类MyClass定义如下:

class MyClass

{

int date;

public MyClass(int v)

{

this.date = v;

}

}

请问若为该类添加以下类型转换操作符,是否合法?( )

public static explicit operator MyClass(MyClass obj)

{

return new MyClass(obj.data);

}

合法

不合法 答案:B

已知接口IHello和类Base、MyClass的定义如下:

interface IHello

{

void Hello();

}

class Base : IHello

{
public void Hello()

{

System.Console.WriteLine("Hello in Base!");

}

}

class Derived : Base , IHello

{
void IHello.Hello()

{

System.Console.WriteLine("Hello in Derived!");

}

}

则下列语句在控制台中的输出为(   )。

Derived x = new Derived();

x.Hello();

Hello in Base! Hello in Derived!

Hello in Derived!

Hello in derived! Hello in Base!

Hello in Base! 答案:b

接口INewInterface派生自接口IFoo和Ibar,类MyJob实现了接口InewInterface。如下所示:

interface IFoo

{

woid DoSomthing1();

}

interface IBar

{

void DoSomthing2();

}

interface INewInterface : IFoo, IBar

{

void DoSomthing3();

}

class MyJob : INewInterface

{

void INewInterface.DoSomthing3()

{

Console.WriteLine("DoSomthing3");

}

void INewInterface.DoSomthing1()

{

Console.WriteLine("DoSomthing1");

}

void INewInterface.DoSomthing2()

{

Console.WriteLine("DoSomthing2");

}

}

请问MyJob实现接口的方式是否合法?(   )

合法

不合法 答案:B

x是类MyClass的变量,该类定义如下:

namespace test

{

class MyClass

{  ……  }

}

则调用x.ToString()的返回值为(   )。

"test.x"

" x"

"test.MyClass"

"" 答案:C

类MyClass的定义如下:

class MyClass

{

static int i = 100;

int j = 100;

static MyClass()

{

i++;

}

}

则创建该类的第一个实例后,字段i的值为(   )。

1

101

不确定

100 答案:B

字符串、数组和集合

下列语句执行后,变量i的值为多少? (   )

string str = @"""Ahoy"",cried the caption. ";

string str2 = "\"Ahoy\",cried the caption. ";

int i = string.Compare(str,str2);

false

-1

1

0 答案:D

下列哪种操作不是System.Text.RegularExpressions.Regex类的功能?(   )

查找子字符串

替换子字符串

拆分字符串

倒置字符串 答案:D

下列数组初始化语句是否合法?(   )

int[,] num_1 =  {new int[,]{0,1},new int[,]{0,1,2},

new int[,]{0,1,2,3}};

不合法

合法 答案B

jnkmnkmmklklm字符串数组:strArray包含以下元素:

string[] strArray={"this","is","a","test"};

则以下语句在控制台的输出是什么?(   )

string strAfterJoin = string.Join("",strArray);

Console.WriteLine(strAfterJoin);

thisisatest

this is a test

"this","is","a","test"

"this""is""a""test" 答案:A

ghgbvvbvb字符串数组:strArray包含以下元素:

string[] strArray={"this","is","a","test"};

则以下语句在控制台的输出是什么?(   )

string strAfterJoin = string.Join(null,strArray);

Console.WriteLine(strAfterJoin);

thisisatest

this is a test

"this","is","a","test"

"this""is""a""test" 答案:B

执行以下语句后,控制台的输出是什么?(   )

string str = "Hello World";

Console.WriteLine(str.ToUpper()); // ToLower()小写

"hello world"

"HELLO WORLD"

"STR"

"Hello World" 答案:B

为了得到以下语句的支持,类MyClass至少应实现(    )接口。

foreach(object o in MyObj){//Myobj为MyClass的一个实例

//do something

}

IComparablefQIComparer

IList

IEnumerable

IEnumerator和IEnumerable 答案:C

为了将字符串:str=“123456”转换成整数123456应该使用以下哪条语句?(   )

int Num =  (int)str

int Num = str.Parse(int)

int Num = str.ToInt()

int Num = int.Parse(str) 答案:D

调用以下语句后,obj的值是什么?(    )

Object obj = 100;

obj.ToString("c");

100

"c"

"100"

"obj" 答案:A

委托和事件

x是委托MyDelegate的实例,为获得所有与x关联的方法列表,可对x调用(   )方法。

GetType

Combine

GetInvocationList

Remove 答案:C

x是委托MyDelegate的实例。调用x.GetInvocationList()方法的返回值为一个(    )类型的数组。

System.Type

System.Delegate

delegate

System.Invocation 答案:B

类Class的静态事件MouseClicked为MouseClickedEventListener类型。obj为另一个类OthersClass的实例;请问如何将obj.DoSomething(   )方法从事件MouseClicked的调用列表中移除?()

MyClass.MouseClicked -= obj.DoSomething;

MyClass.MouseClicked.Remove(new

MouseClickedEventListener(obi.DoSomething));

MyClass.MouseClicked.Remove(obj.DoSomething);

MyClass.MouseClicked -= new MouseClickedEventListener

(obi.DoSomething) 答案:D

类MyClass中事件MouseClicked定义如下:

public static event MouseClickedListener MouseClicked;

如何将对象Form1的方法DrawForm关联到该事件?(   )

MyClass.MouseClicked += Form1.DrawForm;

MyClass.MouseClicked.Add(new MouseClickedListener(Form1.DrawForm));

MyClass.MouseClicked.Add(Form1.DrawForm);

MyClass.MouseClicked += new MouseClickedListener

(Form1.DrawForm)); 答案:D   这两题单选就选D多选就按老师给的选!

已知类型DoSomething定义如下:

public delegate void DoSomething();

a,b,c,d是DoSomething的变量,分别有以下调用列表:

a: objA.Func1、objA.Func2

b: objA.Func1、Class1.StaticFunc

c: objA.Func1、Class2.StaticFunc

d: Class2.StaticFunc

其中objA为类Class1的对象,objB为类Class2的对象。则执行c+=d后,变量c关联的方法数目为(   )。

5

4

3

2 答案:C

已知类型DoSomething定义如下:

public delegate void DoSomething();

则该类型派生自. NET Framework 提供的(   )抽象类。

System.Type

System.IntPtr

System.MulicastDelegate

System.Delegate 答案:C

内存和资源管理

系统将所有包含终止代码的对象放入称为(   )的队列。

终止队列

终止一可访问队列

终止一不可问司队列

复活队列 答案:A

System.GC命名空间中,强制立即进行垃圾回收的方法是(   )。

WaitForPendingFinalizers

Collect

SuppressFinalize

ReRegisterForFinalize 答案:B

场景:

类MyClass中定义了析构方法;

obj为一个MyClass类型的变量且是一个MyClass对象的唯一引用,请问,执行下列哪条语句,类MyClass中定义的析构方法将被调用?

调用obj = null; GC.SupperessFinalize();

调用obj = null; GC.Collect();

调用GC.Collect();obj = null

调用delete obj; 答案:B

场景:

类MyClass中定义了析构方法;

obj为一个MyClass类型的变量且是一个MyClass对象的唯一引用,执行下列语句后,类MyClass中定义的析构方法何时将被调用?(   )

obj = null;

在1小时后被调用

在1分钟后被调用

会被调用,但无法确定时间

立刻

不会被调用 答案:C

为了提高系统性能,在多处理器计算机中运行的.NET FrameWork应安装下列哪个版本的垃圾回收?(   )

MSCorSvr.dll

MSCorWks.dll 答案:A

.NET FrameWork目前支持的对象代的最大值为(   )。

3

2

4

1 答案:B

为了考察某计算机中垃圾回收的信息,在该计算机的性能监控工具(Perfmon.exe)中应监视(   )对象的计数。

.NET CLR JIT

.NET CLR Data

.NET CLR Loading

.NET CLR Memory 答案:D

类MyClass定义如下。其中OtherClass为另一个类,也在析构方法中提供了终止代码。

class MyClass

{

OtherClass member = new OTherClass();

}

obj为一个MyClass类型的变量且是一个MyClass对象的唯一引用,执行下列语句后,类MyClass中定义的析构方法与类OtherClass的析构方法哪个先被调用?(   )

obj = null;

无法确定先后顺序

同时调用

OtherClass

MyClass 答案:A

因内存不够引发的垃圾回收过程中,下列哪些情形的对象占用的内存将被回收?(   )

处于0代的对象

处于2代的对象

实现了析构方法的类的对象

无法从某个根引用抵达的对象 答案:D

类通过实现(   )接口,来使它的对象支持显示资源管理。

IDispose

IList

IDisposable

IEnumerable 答案:C

类MyClass中使用了非内存资源。为了保证对象所引用的非内存资源在对象不用后可以快速地释放,在下列资源管理方案中,比较合适的方法是(    )。

实现Dispose方法

实现Finalize方法

实现析构方法

重载delete运算符 答案:A

数据流和文件

sdsdfdfsfsddf为了放弃应用程序的输出而不返回任何输入数据,并且要求占用操作系统资源最少,应将程序输出导向到(   )流。

new MemoryStream(0)

new FileStream(null)

System.IO.Stream.Null

null 答案:D

为了测试类System.IO.StringWriter的用法,在类MyClass的TestStringWriter()方法中编写以下代码。请问下列代码是否合法?(   )

string str = "0123456789012345678901234567890";

StringWriter sw = new StringWriter(str);

sw.Write(sw,0,30);

不合法

合法 答案B

用FileStream打开一个文件时,可用FileMode参数控制:

其他FileStream对同一个文件所具有的访问类型

对文件进行随机访问时的定位参考点

对文件进行只读、只写还是读/写

对文件执行覆盖、创建、打开等选项中的哪些操作

答案:D

用FileStream打开一个文件时,为了控制该FileStream用于创建不存在的文件,应将其(    )参数设置为Create。

FileMode

FileAccess

FileShare

SeekOrigin 答案:A

用FileStream打开一个文件时,可用FileAccess参数控制(  )。

其他FileStream对同一个文件所具有的访问类型

对文件进行随机访问时的定位参考点

对文件进行只读、只写还是读/写

对文件执行覆盖、创建、打开等选项中的哪些操作

答案:C

创建FileStream对象以打开一个文件时,为了将该FileStream限定为只读,应在构造FileStream对象时将(   )数设置为Read。

SeekOrigin

FileShare

FileAccess

FileMode 答案:C

C#使用下面哪个对象来监控文件系统中某个文件夹的变化并做出反应?(   )

Directory

DirectoryInfo

File

FilsSystemWatcher 答案:D

.对于不同的流,可以使用(   )属性来查询是否支持查找操作。

CanSeek

Position

CanRead

CanWrite 答案:A

下列Stream类中,(    )类用来向其他流提供缓冲区读写支持。

BufferedStream

MemoryStream

FileStream

CryptoStream 答案:A

为打开文件“C:\Winnt\Win.ini“进行读写操作,首先应创建(    )类的实例。

BufferedStream

MemoryStream

FileStream

CryptoStream 答案:C

下列属性中,哪个不是用来描述SeekOrigin类偏移参考点和移动读写位置的?(   )

Seek0rigin.Move

Seek0rigin.End

SeekOrigin.Current

Seek0rigin.Begin 答案:A

下列哪些Stream类不存在于System.IO命名空间中?(    )

BufferedStream

MemoryStream

NetworkStream

FileStream 答案:C

Internet访问

System.Net命名空间下,以下哪些技术是用来管理客户--服务器之间的网络连接以提高性能的?(    )

WebRequest.ConnectionGroupName属性

WebRequest.RegisterPrefix方法

ServicePointManager类

AuthenticationManager类 答案:C,D

下列哪些类不属于System.Net.Sockers命名空间?(   )

TcpListener

WebRequest

TcpClient

Socket 答案:B

缺省情况下,System.Net命名空间中提供了哪些通信协议的实现?(    )(多选)

Ftp

Telnet

Http

File 答案:A,C,D

下列选项中,哪些是System.Net.Sockets.NetworkStream流的实例的特性?(    )(多选)

可以使用该接收和发送数据

和.NET Framework中的其他流兼容

强制应用程序等待所有数据都下载完后才能使用流

不可查找 答案:A,B,E

System.Net命名空间中的类支持下列哪些标准客户身份认证机制?(   )(多选)

摘要

NTLM

基本

Kerberos 答案:A,B,C,D

序列化

为了对一个类实现自定义的序列化,应使该类实现(   )接口。

IObjectReference

ISerializable

IDeserializationCallback

IFormatter 答案:B

为了将对象序列化为XML流,需要使用下列哪个类?(   )

XMLFormatter

ObjectFormatter

BinaryFormatter

SOAPFormatter 答案:D

某类MyClass中两个字段的定义顺序为x,y。使用SoapFormatter将该类的对象obj序列化到流MyStream、传输到服务器、反序列化为一个新的对象obj2后,x和y在对象内的相对顺序为:(   )。

仍为x,y

改为y,x

无法确定顺序,二者都可能 答案:C

myformatter是一个引用SoapFormatter对象的变量。stream是一个打开的可写文件流,请问将可序列化对象obj写入流的正确代码是:(   )。

myformatter.Serialize(stream,obj)

myformatter.Serialize(stream.write(obj))

stream.write(myformatter.Serialize(obj))

stream += myformatter.Serialize(obj) 答案:A

System.Runtime.Serialization命名空间下的(    )类可以为对象生成和管理唯一的ID号,可以保持对已经被识别的对象的跟踪。

ObjectManager

ObjectIDGenerator

BinaryFormatter

SoapFormatter 答案:B

在反序列化过程中,Formatter会查询(   ),以确定对序列化流中对象的引用是否引用已经反序列化的对象或引用尚来反序列化的对象。

ObjectManager

ObjectIDGenerator

StreamingContext

FormatterServices 答案:A

远程处理和XML Web Service

在.NET远程处理框架中编程时,为了在传输中获得更快的速度,应为远程对象使用的信道注册使用(   )。

UDP格式化程序

IP格式化程序

二进制格式化程序

SOAP格式化程序 答案:C

在.NET远程处理编程中,为了可以在客户端使用构造函数控制服务器对象的初始状态,应将服务器对象注册为(   )。

客户端激活

服务器激活 答案:A

[p[[pp[poop在.NET远程处理编程中,为了使同一个服务器对象能够同时为多个客户端提供服务,且在各客户调用间保持一致的对象状态,应在服务器端将该类注册为(   )对象。

客户端激活对象

服务器激活的singlecall对象

服务器激活的singleton对象 答案:C

在.NET远程处理框架中,HTTP信道的默认格式化程序为:(   )。

SoapFormatter

BinaryFormatter

HttpFormatter

TcpFormatter 答案:A

在.NET远程处理框架中,TCP信道的默认格式化程序为:(   )。

SoapFormatter

BinaryFormatter

HttpFormatter

TcpFormatter 答案:B

解决方案DoRemotingCall包含3个项目MyServer、MyClient、Common,场景如下:

MyServer和MyClient分别为两个C#控制台项目,Common为C#类库项目。其中,Common项目实现了类HelloClass,输出文件为Common.dll;MyServer引用Common.dll,并向.NET远程处理框架注册类HelloClass为远程对象;MyClient引用Common.dll,并希望通过.NET远程处理框架访问有MyServer进程创建的HelloClass对象。为了在MyServer的Main方法中将HelloClass类注册为“服务器激活”对象,应调用类RemotingConfiguration中以下哪个方法?(   )

REmotingConfiguration.RegisterWellKnownClientType

REmotingConfiguration.RegisterActivatedServiceType

REmotingConfiguration.RegisterWellKnownServiceType

REmotingConfiguration.RegisterActivatedClientType

答案:C

解决方案DoRemotingCall包含3个项目MyServer、MyClient、Common,场景如下:

MyServer和MyClient分别为两个C#控制台项目,Common为C#类库项目。其中,Common项目实现了类HelloClass,输出文件为Common.dll;MyServer引用Common.dll,并向.NET远程处理框架注册类HelloClass为远程对象;MyClient引用Common.dll,并希望通过.NET远程处理框架访问有MyServer进程创建的HelloClass对象。为了在MyServer的Main方法中将HelloClass类注册为“客户端激活”对象,应调用类RemotingConfiguration中以下哪个方法?(   )

REmotingConfiguration.RegisterWellKnownClientType

REmotingConfiguration.RegisterActivatedServiceType

REmotingConfiguration.RegisterWellKnownServiceType

REmotingConfiguration.RegisterActivatedClientType

答案:A

在使用ASP.NET开发Web服务时,Web服务类必须派生自:(   )

System.Web.WebService

System.Web.Services.WeService

System.Web.Services.Service

System.Runtime.Remoting.Soap.SoapFormatter 答案:B

在Web服务项目的Web服务类定义中,某方法具有(   )属性,则该方法可以作为Web服务的一部分而被访问。

[WebService]

[WebMethod]

[WebPublic]

[WebGlobal] 答案:B

为了在客户端创建一个已知XML Web Service的代理,可使用(   )工具。

Gacutil.exe

Disco.exe

sn.exe

Wsdl.exe 答案:D

.NET远程处理中,(    )的类的实例可以跨应用程序域进行按引用封送。

实现工ObjectReference接口

从MarshalByRef0bject类继承

具有[Serializable]属性

实现Iserializable接口 答案:B

线程和异步编程

在有100个线程并行运行的应用程序中,在当前线程中执行的下列对整型变量i的值“加1“的语句中,哪条不会被其他线程打断?(  )

i += 1

i++

i = i+1

Interlocked.Increment(ref i) 答案:D

类MyClass的方法Read定义如下:

class MyClass{

static int i,j,k;

int l,m,n;

public int[] Read(){ return new int[]{i,j,k};}

}

为了使该类适用于多线程运行环境,方法Read需要对MyClass类的静态字段i,j,k进行独占访问。请问应如何修改Read方法?(   )

public int[] Read(){ lock(MyClass){

return new int[]{i,j,k};}}

public int[] Read(){ lock(i,j,k){

return new int[]{i,j,k};}}

public int[] Read(){ lock(typeof(MyClass){

return new int[]{i,j,k};}}

public int[] Read(){ lock(this){

return new int[]{i,j,k};}} 答案:C

类MyClass的方法Read定义如下:

class MyClass{

static int i,j,k;

int l,m,n;

public int[] Read(){ return new int[]{l,m,n};}

}

为了使该类适用于多线程运行环境,方法Read需要对MyClass类的实例字段l,m,n进行独占访问。请问应如何修改Read方法?(   )

public int[] Read(){ lock(MyClass){

return new int[]{l,m,n};}}

public int[] Read(){ lock(l,m,n){

return new int[]{l,m,n};}}

public int[] Read(){ lock(typeof(MyClass){

return new int[]{l,m,n};}}

public int[] Read(){ lock(this){

return new int[]{l,m,n};}} 答案:D

为了在两个多线程进程之间使用某共享资源,可以使用(   )

AutoResetEvent对象

Mutex对象

ManualResetEvent对象

Monitor对象 答案:D

类MyClass定义如下:

class Myclass

{

public static int i;

public int j;

public void Increment(){j++;}

private void Clear(){j=0;}

}

为了防止多个线程同时对字段j的值进行增加,则应将属性[MethodImplAttribute[MethodImplOptions.Synchronized]添加到(    )。

Increament方法

j字段

Clear方法

MyClass类 答案:A

在用C#编写的控制台程序中创建并访问一个兼容STA的COM件时,为提高性能,应该为程序入口Main方法设置(   )属性。

[MTAThread]

[STAThread]

[Synchronization]

[Apartment] 答案:B

若需要对文件“Readme.txt”启动使用轮询的异步读取,则在调用以下语句后,应继续调用的方法是(   ):

byte[] buffer = new byte[1024];

Stream aStream = File.OpenRead("readme.txt")

int byteRead = aStream.Read(buffer,0,buffer.length)

int byteRead = aStream.BeginRead

(buffer,0,buffer.length)

IAsynResult ar = aStream.Read

(buffer,O,buffer.length,null,null)

IAsynResult ar = aStream.BeginRead

(buffer,O,buffer.length,null,null)

答案:D

在以回调方式使用异步委托MyDelegate时,使用如下回调方法:

public void MyCallBack(IAsyncResult ar){

……  //回调函数的代码

}

请问,为了进一步获取结果,从回调方法的参数ar中提取委托的语句是哪一条?(   )

MyDelegate md = (MyDelegate)((AsyncResult)

ar).AsyncDelegate;

MyDelegate md = ((AsyncResult)ar).AsyncDelegate,

MyDelegate md = ar.GetMyDelegate(),

MyDelegate md = new MyDelegate(ar), 答案:A

MyClass.BusyRun是类物Class的一个静态方法,它运行一次需要2个小时,它的作用是在屏幕的随机位置画一个圆。使用以下代码创建一个新的托管线程t1:

Thread t1 = new Thread(new ThreadStart

(MyClass.ThreadRun))

其中。若随后连续调用2次以下语句:

t1.Start();

则出现什么情况?(   )

第二次调用后,有两个线程在运行

第二次调用后,有一个线程在运行,并激发一个异常

第二次调用后,没有任何线程运行 答案:A

为了设置线程t1的执行优先级,需访间t1的(   )属性。

ThreadState

IsBackgroud

IsAlive

Priority 答案:D

多线程C#程序中,类MyClass定义如下:

class MyClass

{

ReaderWriterLock rwl = new ReaderWriterLock();

private int i;

public void Read()

{

rwl.AcquireReaderLock(Timeout.Infinite);

Interlocked.Increment(ref i);

Thread.Sleep(1000);

rwl.ReleaseReaderLock();

}

public void Write()

{

rwl.AcquireWriterLock(Timeout.Infinite);

InterLocked.Decrement(ref i);

Thread.Sleep(1000);

rwl.ReleaseWriterLock();

}

}

请问,可以有多少个线程同时调用Write()并将i的值减1?(   )

0个

1个

多个 答案:C

多线程C#程序中,类MyClass定义如下:

class MyClass

{

ReaderWriterLock rwl = new ReaderWriterLock();

private int i;

public void Read()

{

rwl.AcquireReaderLock(Timeout.Infinite);

Interlocked.Increment(ref i);

Thread.Sleep(1000);

rwl.ReleaseReaderLock();

}

public void Write()

{

rwl.AcquireWriterLock(Timeout.Infinite);

InterLocked.Decrement(ref i);

Thread.Sleep(1000);

rwl.ReleaseWriterLock();

}

}

已知此刻线程Thread1正在执行Read(),则此刻可以有多少个线程同时调用Write()并将i的值减1?(   )

0个

1个

多个 答案:A

为了将一个自定义集合修改为“线程安全”的集合,应实现(   )方法以创建一个线程安全包装程序。

CopyTo

Synchronized

GetEnumerator

MoveNext 答案:B

C#文件中,使用下列using包含了System.Threading命名空间。

using System.Threading;

请问下列语句执行后多少秒,方法MyWork将被执行?(   )

Timer timer = new Timer

(newTimerCallback(MyWork),null,0,200);

0

200

0.2

永远不会被执行 答案:A

为了将一个自定义集合修改为“线程安全”的集合,应实现(   )方法以创建一个线程安全包装程序。

CopyTo

Synchronized

GetEnumerator

MoveNext 答案:B

某个文件下载任务被分成10个托管线程进行,每个线程负责其中的一部分数据下载。已知整个过程使用一个AutoReseEvent数组进行控制,每个线程结束后,就向数组中对应的AutoResetEvent对象发送Set信号。AutoResetEvent数组的定义和初始化如下:

AutoResetEvent[] EventArray = new AutoResetEvent[10];

那么等待所有的线程都表示它们已完成的语句是(    )。

WaitHandle.WaitAll(EventArray);

WaitHandle.WaitAny(EventArray);

for (int  I = 0;i<10;i++){

EventArray[i].Set ();

EventArray[9].WaitOne(); 答案:A

在托管环境中创建线程后,调用start之前,该线程处于(   )状态。

Unstarted

Running

WaitSleepJoin

Stopped 答案:A

在托管代码中访问一个兼容于STA的COM组件时,要消除代理及存根机制,应该在创建COM对寸象之前将Thread.Crrent.Thread的(   )属性设置为STA。

ApartmentState

CurrentCulture

Priority

ThreadState 答案:A

某COM对象的线程单元类型为“单线程单元”。为了提高程序效率,在C#程序中访问该COM对象时,可(  A  )。

为主入口点Main()方法附加[STAThread]

为主入口点Main()方法附加[MTAThread]

为主入口点Main()方法所在类附加[STAThread]

为主入口点Main()方法所在类附加[MTAThread]

托管代码与非托管代码之间的互操作

为了使非托管代码环境下的COM客户端可以访问托管代码编写的类的对象,可以使用(   )将.NET Framework类注册到系统注册表。

sn. exe

Regasm.exe

Tlbexp.exe

Regsvc32.exe 答案:B

.NET Framework类MyClass实现了接口IJob,为了向COM客户端提供服务,需要导出MyClass所在的程序集。为了确定导出程序集时IJob对应的COM接口的类型,应使用(    )属性附加到ITob类的定义。

[ComImport]

[InterfaceType]

[DllImport]

[C1assInterface] 答案:D

向C0M客户端公开.NET Framework类MyClass时,为了避免COM客户端通过类接口访问类的数据,可向类的定义附加(    )属性。

[InterfaceType]

[ComImport]

[C1assInterface]

[DllImport] 答案:C

下列程序中,DllImport 属性的用法是否正确?

using System;

using System.Runtime.InteropServices;

namespace CS_15 {

public class Test{

[DllImport("KERNEL32.DLL", EntryPoint="MoveFileW",

CharSet=CharSet.Unicode)]

public extern bool MoveFile(string src, string dst);

static void Main(string[] args)

{

MoveFile(@"e:\1\1.txt",@"e:\2\");}

}

}

正确

不正确 答案:B

Win32 API函数MessageBox的签名如下:

int MessageBox(HWND hwmd,LPCTSTR 1pText,

LPCTSTR 1pCaption, UINT uType);

则在C#程序中使用平台调用将该函数引入后,应如何声明该函数的参数?(  )

MessageBox (int hwnd, StringBuilder text, StringBuilder caption, long type)

MessageBox(int hwnd,string text,Stringbuilder caption, long type)

MessageBox (int hwnd, StringBuilder text, string caption, long type)

MessageBox (int hwnd, string text, string caption, long type) 答案:D

某COM方法的签名如下:

HRESULT FormatDate(BSTR s,DATE d[out,retval]int *retval);则该COM对象使用“运行时可调用包装”处理后,C#程序可用的.NET Framework方法签名为:()。

int FormatDate(String s,DataTime d);

int* FormatDate(String s,DataTime d);

int FormatDate(BSTR s,DATE d);

int* FormatDate(BSTR s,DATE d); 答案:A

为使托管客户端能够访问COM对象的方法,.NET Framework提供了(   )服务,以消除托管环境和COM环境的差异。

平台调用

运行库可调用包装

COM可调用包装

订住 答案:B

为使托管客户能够访问以COM方式访问托管对象的方法,.NET Framework提供了(   )服务,以将托管对象包装成COM对象。

信道

COM可调用包装

运行库可调用包装

平台调用 答案:B

使用Tlbimp.exe实用工具导入类型库MyTest.tlb, 并生成名为MyTestOP.dll的程序集, 其命令语法为:(   )。

tlbimp MyText.tlb

tblimp MyTest.tlb  /out:MyTestOP.cs

tlbimp MyTest.tlb  /out:MyTestOP.dll

tblimp MyTestOP.dll  /out:MyTest.tlb 答案:C

某COM对象的线程单元类型为“单线程单元”。 为了提高程序效率, 在C#程序中访问该COM对象时,可(   )。

为主入口点Main()方法附加[MTAThread]

为主入口点Main()方法所在类附加[STAThread]

为主入口点Main()方法附加[STAThread]

为主入口点Main()方法所在类附加[MTAThread]

答案:C

为了将使用.NET托管代码编写的类供老式的COM客户端调用,可使用(    )工具创建一个C0M客户端可以访问的代理。

Tlbimp.exe

Tlbexp.exe

Sn.exe

RCW 答案:B

使用Microsoft ADO.NET访问数据

在ADO.NET中,为了确保DataAdapter对象能够正确地将数据从数据源填充到Dataset中,则必须事先预置好DataAdapter对象的下列哪个Command属性?(   )

Update Command

Insert Command

Delete Command

Select Command 答案:D

在AD0.NET中,DataAdapter对象使用下列哪个Command属性从数据源中删除记录?(   )

Delete Command

Update Command

Insert Command

Select Command 答案:A

在AD0.NET中,DataAdapter对象使用下列哪个Command属性将DataSet中更改过的记录写入数据源?(   )

Delete Command

Update Command

Insert Command

Select Command 答案:B

在ADO.NET中,使用DataAdapter将数据源数据填充到DataSet,应使用下列哪个方法?(   )

DataAdapter对象的Fill方法

DataSet对象的Fill方法

DataAdapter对象的Update方法

DataSet对象的Update方法 答案:A

在ADO. NET中,为将用户在DataSet中进行的改动保存到数据源中,应使用下列哪个方法?()

DataAdapter对象的Fill方法

DataSet对象的Fill方法

DataAdapter对象的Update方法

DataSet对象的Update方法 答案:C

dataTable是数据集myDataSet中的数据表对象,有9条记录。调用下列代码后,dataTable中还有几条记录?(   )

dataTable.Rows[8].Delete();

8

1

9

0 答案:C

下列哪种类型的数据集可以轻松穿越防火墙?(   )

ADO的Recordset

ADO.NET的DataSet 答案:B

在使用ADO.NET设计数据库应用程序时,可通过设置Connection对象的(   )属性来指定连接到数据库时的用户和密码信息。

UserInformation

DataSource

Provider

ConnectionString 答案:B

为使用OleDB .NET Data Provider连接到SQL Server 2000数据库,应将Connection对象的ConnectionString属性中的Provider子属性的值设为:(   )。

Provider = MSDAORA;

Provider = Microsoft.Jet.OLEDB.4.0;

Provider = SQLSERVER;

Provider = SQLOLEDB; 答案:C

ADO.NET使用(   )作为数据通用传输格式。

二进制流

MPEG

XML

SOAP 答案:C

在ADO.NET中,表示程序到数据库的连接的对象为(    )。

DataAdapter对象

DataSet对象

Command对象

Connection对象 答案:D

下列哪个类型的对象是ADO.NET非连接模式下处理据内容的主要对象?(    )

DataAdapter

DataSet

Command

Connection 答案:B

在ADO. NET中,通过执行Command对象的ExecuteReader方法返回的DataReader对象是一种(    )。

可向前向后的只读的结果集

只向前的可读可写的结果集

可向前向后的可读可写的结果集

只向前的只读的结果集 答案:D

属性

C#程序如下。为当前程序集添加名为DeveloperEMail的属性的正确写法,是在程序中下划线处写入下列哪个选项的内容?( C)

using System;

_______________________________________

class MvClass{……}

<assembly: DeveloperEMail("MyAddress@MyEMailServer")>

[assembly][DeveloperEMail("MyAddress@MyEMailServer")]

[assembly: DeveloperEMail("MyAddress@MyEMailServer")]

[DeveloperEMail("MyAddress@MyEMailServer")]

某自定义属性DeveloperInfo定义如下:

该属性可附加到类;

有1个string类型的定位参数:Name

有1个string类型的命名参数:Description

则为类MyClass附加Name="Tom"、Description="Friend of Jerry"的DeveloperInfo属性的正确写法是:(   )

[DeveloperInfo(Name="Tom",Description="Friend of Terry")]

[DeveloperInfo(Description="Friend of Jerry",Name=

"Tom")]

[DeveloperInfo("Tom",Description= "Friend of Terry")]

[DeveloperInfo,Name="Tom",Description="Friend of

Terry" ] 答案:C

为了检查为类附加的所有属性的信息,应使用(   )命名空间提供的(   )功能。

System.Runtime,运行时

System.Reflection,反射

System.Resources,资源管理

System.Configuration,配置 答案:B

.NET托管程序中,属性(Attribute)编程是一种向类添加(   )的技术。

元数据

类成员

代码

编译指令 答案:A

自定义的属性类必须是(   )。

实现接口IAttribute的类

直接继承自抽象类System.Attribute的类

直接或间接继承自抽象类System.Attribute的类

应用了[AttributeUsage]属性的类 答案:C

某属性类MyAttribute的成员如下:

public MyAttribute(int i)

{

index = i;

}

public int index;

protected string context;

public static int count;

则将该属性附加到目录时,可用哪些命名参数实例化该属性类?(   )

count = 1

context = “this is a test!”

index = 200

i = 100 答案:C

在C#程序中,可以为方法附加()属性以帮助调式程序。

[DllImport]

[Conditional]

[STAThread]

[SecureMethod] 答案:B

《基于C#的Framework程序设计认证考试》

题库(一)

(注:缺少的序号为已出现的题目)

1、.NET Framework类库中的“命名空间”是一种(A)P 9

  A、类类型  B、结构类型  C、数据库D、命名规范

2、XML Web服务基于(C)协议在应用程序之间传输XML消息  P 242

IP

Internet

SOAP

DCOM

3、在命令行下使用csc命令编译C#源程序时,可使用(D)参数来说明程序中引用的其他程序集。  P 16

  A、/target  B、/out  C、/linkresource  D、/reference

4、ASP.NET页的默认扩展名是(B)。 P 258

5、XML Web服务基于()协议在应用程序之间传输XML消息。A P 242

  A、SOAP  B、IP  C、DCOM  D、Internet

6、某程序集A的版本为:“2.0.1.12”,程序集B版本为:“2.0.0.12”,则按照.NET 版本控制约定,两个程序集的关系为()。P 55

 A、B是A的快速修订版本B、B是A的完全兼容版本

   C、B是A的可能兼容版本   D、B是A的不兼容版本

答案:C (注意:版本号的顺序为主版本号,次版本号,修订号,内部版本号)

7、下列说法是否正确?()

   引用类型就是所有继承自System.Object的类型。 P 69

  A、正确  B、错误

答案:B(值类型也继承System.Object)

8、请问下列枚举类型MyEnum的定义是否合法?() p 77

enum SomeEnum:System.Char {one='1',

two='2',

three='3',

four='4'}

合法

不合法

答案:B (不能是System.Char类型)

10、类SomeClass的定义如下:

     class SomeClass {

static int i=100;

int j=100;

static SomeClass() { i++;      } }

  则创建该类的第一个实例后,字段i的值为(C)。

不确定

 1

101

100

11、类SomeClass定义如下:

        class SomeClass    { static int  data ; }

   现在需要添加一个类构造函数。下列选项中哪个是正确的?() p 100

  A、static SomeClass ( )        ……

  B、static SomeClass ( int i )    ……

  C、pubic static SomeClass ( )    ……

  D、private SomeClass ( )    ……

答案:A(类构造函数也成为静态构造函数)

#12、已知类Resource的定义如下:

        class Resource {

public int Data =0; }

    则下列语句的运行结果为()

        Resource[] list=new Resource[20];

list[0].Data=20;

int i;

for(i=0;i<=19;i++)

{ System.Console.WriteLine("data={0}",list[i].Data);

}

  A、打印20行,每行输出都是data=0

  B、打印20行,每行输出都是data=null

  C、打印20行,第一行输出为data=0,第2行输出为data=2,...,第20行输出data=19    D、出现运行时异常 

  答案:D(list数组成员需实例化,如list[0]=new Resource(),因为list中的每一个元素都是类对象)

#13、已知类Resource的定义如下:

       class Resource

{

public int Data =0;

}

    执行下列语句后,status的值为(B)。

         Resource[] list=new Resource[20];

Boolean status =list[0]== null;

A、false   B、true 

14、为了将字符串 str="123,456"转换成整数123456,应该使用下列哪条语句?(B (P120)

  A、int num=str;

  B int num =int.Parse(str,System.Globalization.NumberStyles.AllowThousands);

  C、int num =int(str);

  D、int num =int.Parse(str);

#15、类SomeClass的静态事件MouseClicked为MouseClickedEventListener类型。obj为另一个类OthersClass的实例;请问如何将obj.dojob()方法从事件MouseClicked的调用列表中移除?(BC)多选题

  A、RemoveHandler AddressOf Obj.DoJob from SomeClass.MouseClicked

  B、SomeClass.MouseClicked-=new MouseClickedEventListener( Obj.DoJob)

  C、SomeClass.MouseClicked.Remove(Obj.DoJob)

  D、RemoveHandler SomeClass.MouseClicked,new MouseClickedListener(AddressOf Obj.DoJob)

16、用以下语句定义了一个委托类型DoSomething: p 149-150

         delegate void DoSomething();

    则类someclass中的下列哪些方法可以关联到该委托的实例?(D

  A、static int  getNameLength(string name )

  B、void showName(string name )  C、int getAge()  D、void work()

17、为了考察计算机中垃圾回收的信息,在该计算机的性能监控工具(Perfmon.exe)中应监视(A)对象的计数。 P 181

  A、.NET CLR Memory  B、.NET CLR Data

  C、.NET CLR JIT  D、.NET CLR Loading

18、类通过实现()接口,来对他的对象支持显式资源管理。A P 174

  A、IDisposable  B、IDispose  C、IList  D、IEnumerable

19、类SomeClass中使用了非内存资源。为了保证对对象所引用的非内存资源在对象不用后可以快速地释放,在下列资源管理方案中,比较合适的方法是(D)。 P170-177

A.重载delete运算符B.实现析构方法C.实现Finalize方法

D.实现Dispose方法

25、字符数组MyCharArray的定义和初始化如下。为了数组MyCharArray的所有元素值写入FileStream流,可创建()类的实例对该流进行操作。 A  P 189

StreamWriter

BinaryWriter

TextWriter

StringWriter

26、C#可使用下面哪个对象来监控文件系统中某个文件夹的变化并做出反应? P194-195 C(p148)

DirectoryInfo

Directory

filesystemWatcher

File

27、用FileStream打开一个文件时,可用FileMode参数控制:(A) P 191

对文件覆盖、创建、打开等选项中的哪些操作

对文件进行只读、只写还是读/写

其他Filestream对同一个文件所具有的访问类型

对文件进行随机访问时的定位参考点;

28、已知变量resp为WebRequest类型,且引用一的W ebRequest实例。请问下列语句得到的流reqsrm是何种类型?( A)  P 207

stream reqsrm =resp.GetRequestStream()

A. 只写B. 只读C. 可读可写

30在发送请求之前,如果将HttpWebRequest对象的AllowAutoredirect属性设为(B),客户端应用程序将在遇到服务器重定向指示时得到HTTP错误代码。  P 211

True     B.false

31、某程序使用system.Net访问Internet资源时返回webException,其status值等于system.net.webexceptionstatus.connectionclosed.该错误代码表明:(A(P219))A接被过早关闭

B.在传输层上不能连接远程服务

C.  请示被取消;

D.  未能将完整的请求发送到远程服务器

32、myformatter是一个引用soapformatter对象的变量。stream是一个打开的可写的文件流。请问将可序列化对象obj写入流正确代码是:(C)  231-232

A. stream+=myformatter.serialize(obj)

B. myformatter.serialize(stream.write(obj))

C. myformatter.serialize(stream,obj)

D. stream.write(myformatter.serialize(obj))

33、为了对一个类实现自定义的序列化,应使该类实现(B)接口   P 230

IobjectReference

Iserializable

IDeserializationcallback

Iformatter

34、在。NET远程处理框架中,TCP信道的默认格式化程序为:()p 244

Httpformatter

Binaryformatter  (二进制格式化程序)

TcpFormatter

Soapformatter

答案:B (Soapformatter 的默认格式化程序为HTTP信道)

35.NET公共语言运行时的() 功能模块负责管理元数据以及加载、部署类。 P 4答案:A

类加载器B码管理器C圾回收D  安全引擎

36..NET公共语言运行时的安全引擎为.NET托管程序代码的执行提供基于(C  (P4))的安全机制。

A.用户和密码B.证书C.证据D.数据加密

37.在命令行下使用vbc命令编译VB.NET源程序时,可使用()参数来说明生成windows可执行文件    P 16

A./targert:winexe

/tatget:library

C.   /target:exe

D./target:module

答案:A (使用 /target:exe 创建 .exe 控制台应用程序。如果不指定 /target 选项,这将是默认值。使用 /target:library 创建动态链接库 (DLL)。使用 /target:module 创建模块。使用 /target:winexe 创建 Windows 程序。

38.在命令行下使用csc命令编译C#源程序时,可使用()参数来说明生成库文件    P 16答案:B

/targert:winexe  B  /tatget:library

C.   /target:exe  D    /target:module

+39、.net垃圾收集器要求程序员编写托管程序时。(A) P3

为对象分配内存但在使用完毕后不必释放它、

 为对象分配内存,在使用后必须释放它 

不为对象分配内存,且在使用后不必须释放它、

D.不为对象分配内存,且在使用后必须释放它

40、在对程序集进行反汇编得到的MSIL清单中,类SOMECLASS的类构造函数的名字为() P 101

A.CTOR   B .CCTOR  C.CONSTRUCTOR  D.SOMECLASS

答案:B (类构造函数(静态构造函数):.cctor,实例构造函数:.ctor)

+41、某程序集中包含多个模块定义,请问该程序集中能否有多个模块包含下列MAIN()方法?(B)

public static void main(){  ……….}

不可以   可以

42、类SOMECLASS没有定义构造函数,如下所示,则VB.NET编译器提供的缺省实例构造函数的签名应为()。  p100

class someclass {  public int I; }

A .public someclass ()  B. public static someclass()

C.public someclass(int i)  D. static someclass()

答案:A(如果没有为某个类提供任何实例构造函数,将自动提供一个不带参数的空实例构造函数。)

43. 枚举类型someenum的基础类型为integer. 我们可以使用()方法返回任一枚举成员的值。P 76答案:A (parse方法用于获取字符串对应的枚举值)

A.GetHashCode  B.  Typeof  C.  Parse  D.  Tostring

44、为了创建一个位标记类型,应在枚举类型的定义前附加(D)属性。P 76

A .[Bits]  B [Tags]  C [Int32]   D [Flags]

45、类Someclass定义如下:

class SomeClass    {   static int data;    }

现在需要添加一个类构造函数。下列选项中哪个是正确的?(A)

A .public SomeClass ()  B. public static SomeClass ()

C.public SomeClass (int data)  D. static SomeClass ()

46. single类型的值可以隐式转换成(A)类型的值而保持值不被改变。P103

A. double      B.decimal      C.long      D..int

48、下列数组初始化语句哪些是正确的?答案:ABC

A. int[] nums = new int[]{0,1,2,3,4};

B. int[] nums2 = {0,1,2,3,4,5};

C. int[][] num_1 = {new int[]{0,1},new int[]{0,1,2},new int[]{0,1,2,3}};

D. int[][] num_2 = {{0,1},{0,1,2},{0,1,2,3}};

49、用以下语句定义了一个委托类型Dosomething:

delegate void Dosomething()

则类someclass 中的下列哪些方法可以关联到该委托的实例?(AC(签名应一致,P150))多项选择题

A . static void work()      B . int getAge()

C. void showname()      D. static int getNamelength(string name)

50、已知Dosomething定义如下:

delegate void dosomething()

类Someclass定义如下:

class someclass

{

public void sleep()

{

Console.writeline(“sleep”);

}

public dosomething  m1 =null  ;

public void Dosleep()

{       ……………….

}

}

    则在someclass类的方法Dosleep内,可用下列哪些方法利用变量m1调用类someclass的方法sleep?( AC (P150))     多项选择题

m1=new dosomething(sleep)  m1()

m1=new dosomething( Addressof sleep)  m1()

m1=new dosomething(sleep)  m1.Invoke()

m1=new dosomething( Addressof sleep)  m1.Invoke()

51、系统将所有包含终止代码的对象放入称为(D)的队列。 P 171-172

复活队列B终止-不可访问队列C终止-可访问队列D终止队列

52. system.GC命名空间中,强制立即进行垃圾回收的方法是(A) P 174

A. Collect B. suppressFinalize C. WaitforPendingfinalizers

D.ReRegisterforfinalize

53 . 类someclass 中定义了Finalize方法:obj为一个someclass 类型的变量且是一个someclass对象的唯一引用  请问,执行下列哪条语句,类someclass中定义的finalize方法将被调用?(B)

obj=null;  GC.supperessfinalize();

B.obj=null;  GC.collect();

C.GC.collect();  Obj=null;  D. delete obj;

54、用Filestream打开一个文件时,为了控制该Filestream用于创建不存在的文件,应将其(D)参数设置为Create.    P 191

fileshare  B seekorigin  C FileAccess  D fileMode

55、用Filestream打开一个文件时,可用FileAccess参数控制:(C) P191

其他FileStream对同一个文件所具有的访问类型

对文件进行随机访问时的定位参考点

对文件进行只读、只写还是读/写

对文件执行覆盖、创建、打开等选项中的哪些操作

56、用Filestream打开一个文件时,可用Fileshare参数控制:(A) P 191

A.其他FileStream对同一个文件所具有的访问类型

B.对文件进行随机访问时的定位参考点

C.对文件进行只读、只写还是读/写

D.对文件执行覆盖、创建、打开等选项中的哪些操作

57、req是一个HttpWebRequset类型的变量。为了新建并用req连接互联网资源http://www.contoso.com./whatnew.asp的WebRequest 实例,应该使用以下哪个选项的语句?(B (P206))

A.req=”http://www.contoso.com/whatnew.asp”;

B. req=WebRequest.create(“http://www.contoso.com/whatnew.asp”);

req=new HttpWebRequest(“http://www.contoso.com/whatnew.asp”);

req=new HttpWebRequest();

req.connect(“http://www.contoso.com/whatnew.asp”);

58、下列代码在控制台的输出是什么?(B)  P77

WebRequest req = WebRequest.Create("http://www.contoso.com") ;       Console.WriteLine(req.GetType().ToString());

system.Net.WebRequest

system.Net.HttpWebRequest

system.Net.fileWebRequesta

http://www.contoso.com

59、为了向程序中添加Gopher协议,以支持以Gopher://开头的URI,除了创建相应的gopherwebRequest和gopherWebResponsed类,还应采用下列哪种措施?() P 205-208

A.调用WebRequest类的RegisterPrefix方法

B.调用WebRsponse类的Registerprefix方法

C.调用ServicepointManager类的FindServicePoint方法

D.调用WebRequest类的Create方法

答案:AD(见SDK,用 Registerprefix 方法注册要处理其他请求的自定义 WebRequest 子代。)若单选,则选A)

60..为了向需要客户基本信息的Web服务器提供“用户名/密码”对,应设置WebRequest的(D)属性的值。

A user和Password B. Headers  C.ClinetCertificates  D.credentials

61、在处理对象图的反序列化过程中,objectManager可以确定:对序列化流中的某个对象的引用,是指向一个已经反序列化的对象,还是指向一个尚未反序列化的对象。其中对已经反序列化的对象的引用被称为(A) P228

后向引用 B正引用 C前向引用 D反引用

62、在。NET远程处理编程中,为了可以在客户端使用构造函数控制服务器对象的初始状态,应将服务器对象注册为(B)P 246

服务器激活B客户端激活

63、在.NET远程处理中,(C)的类的实例可以跨应用程序域进行按值封送。 P247-248

实现IobjectRefece接口

从Marshalbyrefobject类继承

具有[serializable]属性

实现Iserializable接口

64、在.NET远程处理中,(D)的类的实例可以跨应用程序域进行按引用封送。P248

具有[serializable属性

实现Iserializable接口

实现IobjectReference接口

从MarshalbyRefobject类继承

#65、解决方案DoRemotingCall包含3个项目Myserver、Myclient、Common,场景如下:    Myserver和Myclient分别为两个c#控制台项目,common为c#类库项目,其中,common项目实现了接口IHello,输出文件为common.dll. myserver 引用common.dll并定义了类Helloclass:IHello同时向.NET远程处理框架注册Helloclass类为远程对象;Myclient引用common.dll以获得IHello的类型信息,并希望使用接口IHello通过.NET远程处理框架访问Myserver进程中的Helloclass对象。  请问,为了实现客户端目标,可能的编程方案有哪些?(D  (P250))

myserver中将helloclass注册为“客户端激活”对象;myclient中调用createobject访问服务器对象

myserver中将helloclass注册为“服务器激活”对象;myclient中调用createobject访问服务器对象

myserver中将helloclass注册为“客户端激活”对象;myclient中调用Getobject访问服务器对象

myserver中将helloclass注册为“服务器激活”对象;myclient中调用getobject访问服务器对象

66、在用c#编写的控制台程序中创建并访问一个兼容STA的com组件时,为提高性能,应该为程序入口main方法设置()属性。(C  P327) A.[Apartment]   B.[synchronization]  C.[STAThread]  D.[MTAThred]

67、 下列哪些编程语言不区分源程序中标识符的大小写(C)

A.C  B.C#.NET  C.VB.NET  D.Visual C++

68、 在C#中使用(B)语句抛出异常

A.create B.throw C.put  D.send

69、 ADO.NET使用(B)作为数据通用传输格式

A.SOAP B.XML C.MPEG D.二进制流

70 为了判断线程t1是否是在后台运行,需访问t1的(C)属性

A.Threadstate B.Isalive C.Isbackground D.Currentthread

71 从使用下列哪个类的实例为其它的stream类的实例提供加密转换服务()

A.Filestream B.Cryptostream C.Memorystream D.Bufferedstream

答案:B(见SDK)

72 在托管环境中创建线程后,调用Start之前该线程处于(A   (P277))状态

A.Unstarted B.Running C.Waitsleep D.Stopped

73、 在命令行下,使用csc命令编译c#源程序时。可用(B)参数来说明生成windows可执行文件

A./target:exe B./target:winexe C./target:library D./target:module

74、 下列说法是否正确(A)引用类型就是所有继承system.object的类型

A.错误  B.正确

+75、编写自定义属性类Description时,明确指出要把该自定义属性应用到哪个编程元素,可以为类description附加(C  P373)属性

A.[transaction] B.[conditional] C.[attributeusage] D.[attributetarget]

76、下列属性中,哪个不是用来描述SeekOrigin类偏移参考和移动读写位置的(C)

A.SeekOrigin.Begin  B.SeekOrigin.Current

C.SeekOrigin.Move  D.SeekOrigin.End

77、为了将对象序列化为XML流需要使用下列哪个类?( A)

A.SOAPFORMATTER  B.BINARYFORMATTER

C.XMLFORMATTER   D.OBJECTFORMATTER

+78、在ADO.NET中,为确保DATAADAPER对象能正确地将数据从数据源添充到DATASET中,则必须事先设置好DATAADAPTER对象的下列哪个COMMAND属性?( A)

SELECT COMMAND   B.INSERT COMMAND

UPDATE COMMAND   D.DELETE COMMAND

79、在ADO.NET中,为确保DATAADAPTER对象能正确的将数据源中删除记录, ,则必须事先设置好DATAADAPTER对象的下列哪个COMMAND属性?( D)

A.SELECT COMMAND  B INSERT COMMAND

C.UPDATE COMMAND  D.DELETE COMMAND

+80、 ADO.NET中,DATAADAPTER对象下列哪个COMMAND属性用于将DATASET中的新增记录保存到数据源?( B)

A.SELECT COMMAND  B INSERT COMMAND

C.UPDATE COMMAND   D.DELETE COMMAND

81、在使用ASP.NET开发的WEB服务时,WEB服务类必须派生自答案:C

A.System.Runtime.Remoting.Soap.SoapFormatter

B.System.Seb.Services Service

C.System.Web.Services.WebServise

D.System.Web.WebService

82、为了在多线程之间使用共享资源可以使用(A  (P288))

A.Mutex对象 B..Monitor对象

C.AutoResetevent对象 D.ManualResetEvent对象

+83、NET framework类someclass实现了接口IJOB,为了使COM客户端使用提供的服务需要导出someclass所在的程序集,为了确定导出程序集时IJOB对应的COM接口类型,应使用()属性附加到IJOB类的定义(A)

A.[ClassInterface]  B.[InterfaceType]

C.[Com Import]  D.[dllimport]

+84、为了将使用.NET托管环境编写的类供老式的COM客户端调用,可使用(C)工具创建一个COM客户端可以访问的代理

A.RCW     B.SN.EXE    C.TLBEXP.EXE    D.TLBIMP.EXE

85、在有100个线程并行运行的应用程序中,在当前的线程中执行的下列对整形变量I的值加1的语句中,哪条不会被其他线程打断?( C)

A.I+=1 B.I=I+1 C.Interlocked.Increment(I)

86、下列代码在控制台的输出是什么?B

WebRequest req =WebRequest.Create("http://www.comtoso.com");

Console.WritleLine(req.GeType().tosring)

A.System.Net.FileWebRquest B.System.Net.HttpWebRequest

C.http://www.comtoso.com D.System.Net. WebRequest

87、为了对一类实现自定义的序列化的序列化,应使该类实现(B)接口

A.Iobjectreference  B.Iserializable

C.Idbjectrefernce  D.Ideserializationcallback

88、若程序集mysork.dll的配置文件存在,则应起名为(B)

A.mywork.config B.mywork.dll.config C.config.sys D.sonfig.into

89、可使用(D)工具将一个是有强名称的程序集安装到全局程序集缓存

A.regasm.exe B.vbc.exe  C.cn.exe  D.gatutil.exe

90、ADO.NET使用(C)命名空间的类访问SQL Server数据库中的数据

A.system.io

B.system.xml.Serialization

C.System.Data.SqlClient

D.system.data.oleDb

96、在.NET  Framework class library 中提供了()技术,以使托管应用程序可以以断开式的方式访问各种数据库(C)

A、 ADO   B、ODBC.NET   C、 ADO.NET   D、SQL Server

97.NET公共语言运行时的(D)功能模块负责管理元数据的加载,部署类

A、垃圾回收 B、 安全引擎 C、 代理管理器  D、 类加载器

98、程序集Mywork.dll部署在E:\mywork\下 则该程序集的配置文件应保存在(B)

A. E:\mywork\mywork文件夹B. E:\mywork\文件夹

C. E:\mywork.dll\文件夹 D. E:\文件夹

99、在web服务项目的web服务类定义中,某方法具有(B)属性,则该方法可以作为web服务的一部分而被访问

A、[WebService]  B、[WebMethod]  C 、[WebPublic]  D、 [webGlobal]

100、为了在客户端创建一个已知XML Web service 的代理,可使用(D)工具  A、gacutil.exe B、sn.exe C、 Disco.exe D、 wsdl.exe

101、通用类型系统中的一切值类型都是继承自(A)

A. system.valueTypeB. system.int32C. system.typeD. system.base

104、 在对程序集进行反汇编得到MSIL清单中,类Someclass的缺省实例构造函数的名为(B )

A 、.cctor  B 、.ctor   C、constructor    D、someclass

106、(D )是.NET类型中唯一没有继承System.object的类型

A 类 B 结构 C 枚举 D 接口

107、(D (P21))工具程序以MSIL文件作为输入,生成包含MSIL代码的托管PE文件。

A csc.exe     B vbc.exe  C  Ildasm.exe  D Ilasm.exe

108、在ADO.NET中通过执行Command对象ExecuteReader方法返回的Retareder对象是一种(D )

A 可向前向后的只读结果集B 可向前的可读可写的结果集

C 可向前向后的可读可写的结果集D 可向前的只读的结果集

109、 在.net远程处理框架中变成时,为了在传输中获得更快速度,应为远程对象使用的信道注册使用(C (P244-245))

A udp 格式化程序  B ip格式程序 C 2进制格式化程序 D soap格式化程序

110、为了检查类附加的所有属性的信息,应使用()命名空间提供的()功能D  (P377)

A system.comfiguration.配置  B system.resources,资源管理

C system.runtime,运行时    D System.Reflection,反射

111、 在ADO.net中,dataadspter对象使用下列哪个command属性从数据源中删除记录?(A)

A DeleteCommand B UpdateCommand C InsertCommand DSelectCommand

112、 为了对一个类实现自定义的序列化,应使该类实现(A)接口

A ISerializable B iobjectreference C iformatter D ideserial zationcallback

113、下列哪个选项不属于URI的组成部分(A)

A 客户机标识符 B 路径标识 C方案标识符 D 查询字符串

114、在某程序中包含多个模块定义请问程序集中能否有多个模块包含以下定义:B

public static void Main(){....}

A 不可以 B 可以

+115、 在Dataset对象中,可通过(B )集合遍历Dataset对象中所有的数据表对象。

A constraints B Relations  C DataReader  D Table

116、某定义属性DeveloperInfo定义如下:

该属性可附加到类

有1个string类型的定位参数:Name

有1个string类型的命名参数:Description

则为类Someclass附加Name="Tom",description="friend of jerry"的

DevoperInfo属性的正确方法是:(C)

A [DeveloperInfo (Name="Tom",description="friend of jerry")]

B [DeveloperInfo (description="friend of jerry",Name="Tom")]

C [DeveloperInfo ("Tom",description="friend of jerry")]]

D [DeveloperInfo,Name="Tom",description="friend of jerry"〉

117、因内存不够引发的垃圾回收过程中,下列那些情形的对象占用的内存将被回收:D

A 实现了析构方法类的对象   B 处于0代的对象

C 处于2代的对象           D 无法从某个根引用抵达的对象

118、在c# 程序中,可以为方法附加(B )属性以帮助调试程序。

A [DLLImport]   B [Conditional]

C [AThread]   D [SecureMethod]

119、NET Framework class library的作用是(B )

A 是。NET托管程序的执行引擎B 供。NET托管程序使用的类型集合

C 支持托管程序的编译程序D 支持。NET托管程序的操作系统

120、在.net编程中,术语“托管环境”是(B)

A net framework类库    B .net公共语言运行库

C windows 窗体程序    D .net所基于的操作系统

《基于C#的Framework程序设计认证考试》

题库(二)

121、字符串数组strarray包含以下元素:

string[] strarray={“this”,”is”,”a”,”test”};

则以下语句在控制台的输出是什么?(B(参考书P125))

string strafterjoin =string.Join(“,”,strarray);

Console.WriteLine(strafterjoin);

A、”this”,”is”,”a”,”test”  B、this,is,a,test

C、this is a test    D、thisisatest

123、类型MyEventHandler的定义如下:

public delegate void MyEventHandler();

在类SomeClass中定义如下事件:

public event MyEventHandler MyEvent;

则何处代码可以引发该事件?()

A、类SomeClass的方法RaiseEvent

B、类SomeClass的静态方法StaticRaiseEvent

C、类OtherClass的方法RaiseEvent

D、类OtherClass的方法StaticRaiseEvent

答案:AB(参考书P155,只能在声明该事件的类的内部引发事件)

124、类SomeClass中定义了Finalize方法;

obj为一个SomeClass类型的变量且是一个SomeClass对象的唯一引用执行下列语句后,类SomeClass中定义的Finalize方法何时将被调用?()obj=nothing;

A、在1小时后被调用  B、会被调用,但无法确定时间

C、在1分钟后被调用  D、不会被调用  E、立刻

答案:B(自动垃圾回收的运行时间具有不确定性)

125、类SomeClass定义如下。其中otherclass为另一个类,也在析构方法中提供了终止代码。

class SomeClass

OtherClass member =New OtherClass();

~ SomeClass(){…..}

当垃圾回收SomeClass的实例化对象时,先运行SomeClass还是otherclass的终止代码

A、OtherClass  B、同时调用  C、SomeClass  D、无法确定后顺序

答案:D(参考书P173,垃圾回收调用终止代码顺序具有不确定性)

126、为了在客户端创建一个已知Xml Web Service的代理,可使用()工具。答案:C

A、Sn.exe  B、Gacutil.exe C、Wsdl.exe  D、Disco.exe

127、在编写ASP.NET页面时,若希望在每次页面载入时执行某个操作,则应将相应代码写入(D)事件处理程序中。

A、页面的Prerender  B、页面的Init

C、页面的Disposed消息  D、页面的Load

I28、若程序集mywork.dll的配置文件存在,则应起名为()。

A、mywork.dll.config   B、mywork.config

C、config.sys  D、config.info

答案:A(配置文件的名称应为程序的完整名称后加.config)

129、single类型的值可以隐式转换成()类型的值而保持值不被改变。

A、Long B、Decimal C、Int D、Double

答案:D(参考书P103表6-1,隐式转换只能进行扩大转换)

#130、类型MyEventHandler的定义如下:

public delegate void MyEventHandler();

在类SomeClass中定义如下事件:

public event MyEventHandler MyEvent ;

则可将下列那些方法关联到该事件?()(假定下列方法的签名都正确)

A、OtherClass.DealEventstatic(其中DealEventStatic为静态方法 )

B、OtherObj.DealEvent(其中OtherObj是OtherClass的对象)

C、SomeClass.DealEventstatic(其中DealEventStatic为静态方法)

D、SomeObj.DealEvent(其中SomeObj是SomeClass的对象)

答案:AB(参考书P154,相当于在客户端代码中声明事件委托所调用的方法)

131、obj为SomeClass类型的变量,且是一个SomeClass对象的唯一引用。执行下列语句后,SomeClass和OtherClass中哪个类的Finalize方法先被调用?(D   (P174-175))

obj=null;

GC.WaitForPendingFinalizers();

A、SomeClass B、OtherClass  C、同时调用 D、无法确定后顺序

132、可以使用下列哪个类的实例为其它stream类的实例提供加密转换服务?(A(见SDK))

A、Cryptostream B、Filestream C、Memorystream D、Bufferedstream

133、为了放弃应用程序的输出而不返回任何输入数据,并且要求占用操作系统资源最少,应将程序输出向导到(D (参考书P188))流。

A、New FileStream(Null)  B、System.IO.Stream.Null

C、New memorystream()  D、Null

135、某类SomeClass中两个字段的定义顺序为x,y。使用SoapFormatter将该类的对象obj序列化到流MyStream、传输到服务器、反序列化为一个新的对象obj2后,x和y在对象内的相对顺序为:(C)。

A、改为y,x B、仍为x,y C、无法确定顺序,二者都可能

136、为了在Internet中搜索自己需要的WEB服务,可以查询(C)。

A、http://www.sina.com http://www.sina.com.cn等新闻网站]

B、http://www.google.com http://www.google.com等搜索网站

C、http://uddi.microsoft.com/visualstudio等uddi网站

D、http://mail.sina.com.cn等邮件服务网站

137、有如下代码:

public void MyWork(Object state )

{…….

}

请问下列语句执行后多少秒,方法MyWork将被执行?( C(P291,心跳线程))

Timer t = New Timer(MyWork,null,0,200)

A、200 B、0.2   C、0  D、永远不会被执行

138、在托管代码中访问一个兼容于STA的COM的组件时,要消除代理及存根机制,应该在创建COM对象之前将Thread.CurrenThread的(D(见书P328))属性设置为STA.

A、ThreadState B、Priority C、CurrentCulture D、ApartmentState

139、在用c#编写的控制台程序中创建并访问一个兼容STA的COM组件时,为提高性能,应该为程序入口Main方法设置(C(见书P328))属性。

A、<Apartment> B、<Synchronization> C、<STAthread>D、<MTAthread>

140、有如下代码:

public void mycallback(IAsyncresult ar){…………….//回调函数的代码}

为了进一步获取结果,在回调函数内部从参数ar中提取委托的语句为:()

A、mydelegate md =Ctype(Ctype(ar,AsyncResult).Asyncdelegate,mydelegate)

B、mydelegate md =Ctype(ar,AsyncResult).AsyncDelegate

C、mydelegate md =ar.GetMyDelegate()

D、mydelegate md =New mydelegate(ar)

答案:A(P301, AsyncResult:封装异步委托上的异步操作结果;AsyncDelegate:获取在其上调用异步操作的委托对象,mydelegate:用户定义的委托的实际类)

141、NET Framework类SomeClass实现了接口IJOB。为了向COM客户端提供服务,需要导出SomeClass所在的程序集。为了确定导出程序集时IJOB对应的COM接口的类型,应使用(C)属性附加到IJOB类的定义。

A、[Interfacetype] B、[COM interop] C、[ClassInterface] D、[DllImport]

142、向com客户端公开.NET Framework类SomeClass时,为了避免COM客户端通过类接口访问类的数据,可向类的定义附加(D )属性。

A、[ COM Interop]  B、[Interfacetype] C、[DllImport] D、[ClassInterface]

143、利用()服务,托管代码可以调用在动态链接库(DLL)(如Win32 API中的DLL)中实现的非托管函数。答案:B

A、运行库可调用包装 B、平台调用 C、COM可调用包装 D、信道

144、在DataSet对象中,可通过(A  )集合遍历DataSet对象中所有的关系对象。

A、Relations  B、Tables  C、Constraints  D、Datareader

145、下列那种类型的数据集可以轻松穿越防火墙?(A )

A、ADO.NET的DataSet B、ADO的RecordSet

146、在使用ADO.NET编写连接到SQLServer2000数据库的应用程序时,从提高性能角度考虑,应创建(A )类的对象,并调用其open方法连接到数据库。

A、SqlConnection B、OledbConnection C、Connection D、OdbcConnection

147、类SomeClass的方法Read定义如下:

class SomeClass{

static int i,j,k ;

int l,m,n ;

public int Read() {

return New Integer(){i,j,k};

} }

为了使该类适用于多线程运行环境,方法Read需要对SomeClass类的非静态字段l,m,n进行独占访问。请问应如何修改Read方法的内容?( )

lock(i,j,k) retrun new int[]{i,j,k};

lock(SomeClass) return new int[]{i,j,k};

lock(this) return new int[]{i,j,k};

lock(typeof(SomeClass)) return new int[]{i,j,k};

答案:C(见书P286,l,m,n是实例字段,所以是lock(this))

148、编写自定义属性类Description时,为了明确指出要把该自定义属性应用到哪个编程元素,可以为类Description附加(B(见书P373) )属性。

A、[AttributeTarget] B、[AttributeUsage] C、[Conditional]

D、[Transaction]

答案:

149、多线程VB.NET 程序中,类SomeClass 定义如下:

class SomeClass

ReaderWriterLock rwl = New ReaderWriterLock();

private int i ;

public void Read()

{

rwl.AcquireReaderLock(Timeout.Infinite);

Interlocked.Increment(i);

Thread.Sleep(1000);

rwl.ReleaseReaderLock();

}

public void Write(){

rwl.AcquireWriterLock(Timeout.Infinite);

Interlocked.Decrement(i);

Thread.Sleep(1000);

rwl.ReleaseWriterLock();

}  }

已知此刻线程Thread1 正在执行Write (),则此时可有多少线程同时调用 Read ()并将i 的值加1?答案:A(ReaderWriterLock读写互斥)

A. 0 个  B. 1 个  C. 多个

150、为了能将类someclass的静态方法checkstatus放入System.Threading.TthreadPool管理,该方法的签名可以是:().。

A、pubic staic void updateresource(object)

B、public staic void updateresource()

C、public staic void updateresource(object,object)

D、public staic thread updateresource(object)

答案:A(见书P291-292,线程池使用WaitCallBack委托类型,该方法的定义:public delegate void WaitCallBack (Object state),符合该委托的只有A答案)

151、在编写ASP.NET页面时,若希望在每次页面载入时执行某个操作,则应将相应代码写入(D)事件处理程序中。

页面的PreRender

页面的init

页面的Dispose消息

页面的Load

152、若程序集MyWork.dll的配置文件存在,则应起名为(A)。

MyWork.dll.config

MyWork.config

Config.sys

Config.info

154、解决方案doremotingcall包含3个项目myserver、myclient、common,场景如下:myserver和myclient分别为两个c#控制台项目,common为c#类库项目,其中,common项目实现了类helloclass,输出文件为common.dll,myserver引用common.dll,并向.net远程处理框架注册类A:RemotingConfiguration.RegisterActivatedClientTypeB:RemotingConfiguration.RegisterActivatedServiceTypeC:RemotingConfiguration.RegisterWellknownClientTypeD:RemotingConfiguration.RegisterWellknownServiceType

答案:(D)

155、设计someclass时,若希望字段data只能被同一程序集的其他类访问,可以将该字段的访问修饰符设为(B)。

A、private  B、internal  C、protected  D、public

156、文件mylib.vb中有以下类的声明:

internal class couter{

public class cinner

{

private static short mypublicshort =0

}   }

则该cinner类的方法dosomething对cinner.mypublicshort的访问权限为(A)。

A、可访问  B、不可访问

158、为了向需要客户基本验证的web服务器提供“用户名/密码”对,应设置WebRequest的(D(参考书P207))属性的值。

A、user和password B、Header C、ClientCertificates D、Credentials

159、为了向需要客户证书验证的web服务器提供有效客户证书,应设置WebRequest的(A(见SDK))属性的值。

A、ClientCertificates B、credentials C、headers D、user和password

160、下列程序中,DllImport属性的用法是否正确?()

public class Test   [DllImport("kernel32.dll",EntryPoint="movefilew",CharSet=CharSet.Ansi)] 答案:A   P372(CharSet和EntryPoint的设置不一致)

public  int  movefile(string src ,string dst);

A、错误  B、正确

161、以下类TestClass中,只读属性Count的声明是否合法?(B)

public class TestClass { private int i ;

public  int Count  { get { return this.i;  }  } }

A、不合法  B、合法

162、在C#程序中,为了给类型CompCS.SringComponent起一个别名CsStringComp,其正确的语法是(A)。

A、using CsStringComp=CompCS.StringComponent;

B、imports CsStringComp=CompCS.StringComponent;

C、Alias CsStringComp=CompCS.StringComponent;

D、Dim CompVB.StringComponent As CsStringComp

163、在.NET Framework Class Library中提供了(B)技术,以使托管应用程序可以断开式的方式访问各种数据源。

A、SQL Server  B、ADO.NET  C、ODBC.NET  D、ADO

+164、接口ISomeInterface中只包含一个属性Name,该属性满足:

公有            可读可写            字符串类型

则该接口的定义应为(C)。

interface SomeInterface

{public readonly string Name(){get;set;}}

interface SomeInterface {public string Name{get;set;}};

c  interface SomeInterface { string Name{get;set;}}

D、interface SomeInterface  {readonly Name(){get;set;}}

165、设计类SomeClass时,若希望字段Data只能被同一程序集的所有派生类访问,可将该字段的访问修饰符设为(A)。

A、Internal  B、Protected  C、Private  D、Pubic

166、x,y都是类SomeClass的变量。为了测试这两个变量是否引用同一个对象,应使用类SomeClass的下列那个方法进行判断?(B)

A、Tostring  B、ReferenceEquals C、Equals D、GetHashCode

#167、字符串数组strarray包含以下元素:

String[] strarray={“this”,”is”,”a”,”test”};

则以下语句在控制台的输出是什么?()

String strafterjoin =String.Join(null,strarray)

Console.WriteLine(strafterjoin)

A、”this”,”is”,”a”,”test”   B、this is a test

C、”this” ”is” “a” “test”   D、thisisatest

答案:D (参考书P125,分隔符为null相当于零长度字符串””)

*168. 某程序集的版本号:“2.0.1.112”,则该程序集的修订号为(c)

A 1   B 2   C 0    D 112

某程序集的版本号:“2.0.1.112”,则该程序集的内部版本号为(D)

A 2   B 1    C 112     D 0

169.当用户执行托管程序时,JIT将MSIL转换成本地代码的方式是()

A.在加载程序首先将一半的托管代码转换为本地代码,找到程序入口点开始执行,再需要另一半时再转换另一半。

B.在加载程序时一次将所有代码都转换成本地代码,然后找到程序入口点开始执行

C.调用程序某个功能时,总是先将该功能代码转换成本地代码,然后执行

*D.第一次调用程序某功能时将其功能代码转换为本地代码,然后缓存这些本地代码并执行;下次调用该功能时直接执行本地代码

170.某ASP.NET网页的@Page<mailto:ASP.NET网页的@Page>指令如下:

<%@ Page Language="C#" Description=”C# Framework程序设计"%>

为了在该网页中引用命名空间CompCS,应在@Page指令后使用().

*A.<%@ Import NameSpace="CompCS" %>

B.<%@ import NameSpace as CompCS %>

C.<%@ import CompCS %> D.<%@ useing NameSpace CompCS;%>

171.程序MyProgram.exe编译时引用强名称程序集Mystringer.dll的1.0.0.1版本,现在,MyStringer.dll开发者提供了一个新的1.0.0.12版本。为了在MyProgram.exe中使用该新版本,请问,除了将新版本拷贝并覆盖旧版本文件外,还应()。

A.重新编译,链接,生成MyProgram.exe

*B.修改MyClass.exe.config文件中MyStringer的版本绑定信息

C.修改MyStringer.dll.config文件中MyStringer的版本绑定信息

D.修改Machine.config文件中MyStringer的版本绑定信息

172. .NET程序集的配置文件使用()格式书写.

*A.XML  B.HTML C.C#源程序 D.VB.NET源程序

173..NET类型系统中所有的引用类型都继承自System.Object且不继承自()类型。

A System.Type *B System.ValueType C System.Object  D System.Int32

174. c#中的类型int对应.NET类库中的()

A.System.Single  B.System.Int16 *C.System.Int32 D.System.Int64

175.调用以下语句后,obj的值是什么?()

object obj =100;

obj.ToString();

A  100 B  ""  *C  "100"  D  "obj"

176.执行以下语句后,变量str的值是什么?()

string str ="hello world";

str=str.ToUpper;

A. "Hello World"  *B. "HELLO WORLD"  C. "Hello World"  D. "STR"

177.执行以下语句后,控制台的输出是什么?()

string str ="Hello World";

str.ToUpper();

Console.WriteLine(str);

A "Hello World" B "Hello World" C "str" *D "Hello World"

178.用以下的语句定义了一个委托类型dosomething;

delegate void dosomething()

则类someclass中的 下列哪些方法可以关联到该委托的实例?()(多选)

A static getnamelength(string name)  *B void showName()

C int getage()   *D staic void work()

179.已知变量resp为WebResponse 类型,且引用一打开的WebRespose实例,请问下列语句得到的流respsrm是何种类型()?stream respsrm =resp.GetResponseStream();

*A:只读  B:只写  C:只读可写

200.已知变量resq为WebRequest 类型,且引用一的WebRequest实例,请问下列语句得到的流reqsrm是何种类型()?dim reqsrm as Stream= resq.GetRequestStream()

A:只读可写  *B:只写  C:只读

201.某程序使用system.net访问internet资源时返回webexception,其status 值等于System.Net.WebExceptionStatus.ConectionClosed.该错误代码表明()

A:请求被取消  B:未能将完整的请求发送到远程服务器

*C:连接过早关闭  D:在传输层上不能连接远程服务

202.myFormatter是一个引用SoapFormatter对象的变量,stream是一个打开的可写文件流,请问将可序列化对象obj写入流的正确代码是()

A:stream+=myFormatter.Serialize(obj)

B:myFormatter.Serialize(stream.write(obj))

*C:myFormatter.Serialize(stream,obj)

D:stream.vrite(mytFormatter.Serialize(obj))

203.为了对一个类实现自定义的序列化,应使该类实现()

*A:ISerializable   B:IObjectReference

C:IFormatter  D:IDeserializationCallback

204.在.NET远程处理框架中,TCP信道的默认格式化程序为:()

A:HttpFormatter *B:BinaryFormatter C:TcpFormatter D:SoapFormatter

205.在.NET远程处理框架中编程时,为了在传输中获得更快的速度,应为远程对象使用的信道注册使用()

A:IP格式化程序B:UDP格式化程序 *C:二进制格式化程序D:SOAP格式化程序

206.解决方案doremotingcall包含3个项目myserver、myclient、common,场景如下:

myserver和myclient分别为两个vb.net控制台项目,common为vb.net类库项目,其中,common项目实现了类helloclass,输出文件为common.dll,myserver引用common.dll,并向.net远程处理框架注册类

A:RemotingConfiguration.RegisterActivatedClientType

B:RemotingConfiguration.RegisterActivatedServiceType

C:RemotingConfiguration.RegisterWellknownClientType

*D:RemotingConfiguration.RegisterWellknownServiceType

207.有两个正在运行的线程A、B。为了将线程B暂停200秒,可以()

*A:在线程B中调用B.Sleep(200000) B:在线程B中调用B.Sleep(200)

C:在线程A中调用B.Sleep(200000) D:在线程A中调用B.Sleep(200)

(一个线程不能对另一个线程调用sleep)

208.类someclass中已知有以下字段定义:

Object i =100, Object j =200, Object k =300;

则执行下列语句后,这3个字段的值是()

Interlocked.CompareExchange(i,j,k);

A:i:2, j:200,k:300  *B:i:100,j:200,k:300

C:i:300,j:200,k,100  D:i:100,j:100,k:300

209 类Someclass的方法Read定义如下:

class SomeClass

staic int i,j,k ;

int l,m,n ;

public int Read()

{

return new int[]{i,j,k};

}

}

为了使该类选用于多线程运行环境,Read需要对SomeClass类的非静

态字段i,j,k进行独占访问.请问应如何修改Read方法的内容?( )

lock(i,j,k) retrun new int[]{i,j,k};

lock(SomeClass) return new int[]{i,j,k};

lock(this) return new int[]{i,j,k};

*D: lock(typeof(SomeClass)) return new int[]{i,j,k};

(注意:这题保护的是静态字段,与210题不一样。)

210. 类SomeClass的方法Read定义如下:

class SomeClass

{

static int i,j,k ;

int l,m,n ;

public int Read() {

return New Integer(){i,j,k};

}

}

为了使该类适用于多线程运行环境,方法Read需要对SomeClass类的非静态字段l,m,n进行独占访问。请问应如何修改Read方法的内容?( )

A lock(i,j,k) retrun new int[]{i,j,k};

B lock(SomeClass) return new int[]{i,j,k};

*C lock(this) return new int[]{i,j,k};

D lock(typeof(SomeClass)) return new int[]{i,j,k};

答案:C(见书P286,l,m,n是实例字段,所以是lock(this))

211.为使托管客户端能够访问对象的方法,.NET Framework提供了( )服

务,以消除托管环境和COM环境的差异.

A 钉住 B COM可凋用包装 *C 运行库可调用包装 D 平台调用

212.为使非托管客户能够访问以COM方式访问托管对象的方法.NET Framework提供了( )服务,以将托管对象包装成COM对象.

A 平台调用  B 运行库可调用包装 *C COM可调用包装 D 信道

213..NET平台调用服务允许:( ).

A 托管代码访问Unixu操作系统下的可执行代码

B 托管代码访问传统COM组件

C 非托管代码调用在程序集DLL中的托管

*D 托管代码调用在DLL中实现的非托管代码

214.在ADO.NET中,使用DataAdapter将数据填充到DataSet,应用下列

哪个方法? ( )

A DataAdapter对象的Update方法 B DataSet对象的Fill方法

C DataSet对象Update方法 *D DataAdapter对象Fill方法

215.在ADO.NET中,为将用户DataSet中进行的改动保存到数据源中,应使用

下列哪个方法? ( )

A DataSet对象的Fill方法  *B DataAdapter对象的Update方法

C DataAdapter对象Fill方法 D DataSet对象的Update方法

216.ADO.NET使用( )作为数据通用传输格式.

A SOAP  *B XML C MPEG D 二进制流

217.在C#程序中,可以为方法附加( )属性以帮助调试程序.

*A [Condittional] B [DLLImport] C [STAThread] D [SecureMethod]

218.在C#程序中可以使用( )属性来引用非托管代码环境中的API

函数.

A [SecureMethod] B [STAThread] C [Conditional] *D [DLLImport]

219 XML Web服务基于(B)协议在应用程序之间传输XML消息

A:IP  B:SOAP  C:Internet  D:Dcom

220 从使用下列哪个类的实例为其它的stream类的实例提供加密转换服务(B(见P245))

A:FileStream B: CryptoStream C:MemoryStream D:BufferedStream

221.为了向程序中添加Gopher协议,以支持"gopher://"开头的URI,除了创建相应的Gopherwebrequest和Gopherwebponse类,还应采用下列哪种措施

A.调用WebReponse类的RegisterpPrefix方法

B.调用ServicPointManger类的FindServicePoint方法

C.调用WebRequest类的RegisterPrefix方法

D.调用WebRequest类的Create方法

答案:CD(若单选,选C)

222.在。NET远程处理框条中TCP信道的默认格式程序为(C)

A Tcp Formatter  B Http Formatter C Binary Formatter D Soap formatter

则以下语句能否正常编译?(C )

short x ;  long y =123456789;  x=(short)y;

A无法通过正常编译B可以通过编译但运行时出错C可以正常编译和运行

223在ADO.net中,DataAdspter对象使用下列哪个Command属性从数据源中删除记录?(A)

A DeleteCommand B UpdateCommand C InsertCommand D SelectCommand

《基于VB.NET的Framework程序设计认证考试》

题库(三)

(注:加*的选项为答案)

169.当用户执行托管程序时,JIT将MSIL转换成本地代码的方式是()

A.在加载程序首先将一半的托管代码转换为本地代码,找到程序入口点开始执行,再需要另一半时再转换另一半。

B.在加载程序时一次将所有代码都转换成本地代码,然后找到程序入口点开始执行

C.调用程序某个功能时,总是先将该功能代码转换成本地代码,然后执行

*D.第一次调用程序某功能时将其功能代码转换为本地代码,然后缓存这些本地代码并执行;下次调用该功能时直接执行本地代码

170.某ASP.NET网页的@Page<mailto:ASP.NET网页的@Page>指令如下:

<%@Page language="vb" Description==VB.NET Framework程序设计"%>

为了在该网页中引用命名空间CompVB,应在@Page指令后使用().

*A.<%@ import NameSpace="CompVB" %>

B.<%@ import NameSpace as CompVB %>

C.<%@ import CompVB %>

D.<%@ useing NameSpace CompVB;%>

171.程序MyProgram.exe编译时引用强名称程序集Mystringer.dll的1.0.0.1版本,现在,MyStringer.dll开发者提供了一个新的1.0.0.12版本。为了在MyProgram.exe中使用该新版本,请问,除了将新版本拷贝并覆盖旧版本文件外,还应()。

A.重新编译,链接,生成MyProgram.exe

*B.修改MyClass.exe.config文件中MyStringer的版本绑定信息

C.修改MyStringer.dll.config文件中MyStringer的版本绑定信息

D.修改Machine.config文件中MyStringer的版本绑定信息

172. .NET程序集的配置文件使用()格式书写.

*A.XML B.HTML C.C#源程序 D.VB.NET源程序

173..NET类型系统中所有的引用类型都继承自System.Object且不继承自()类型。

A System.Type  *B System.Value C System.Object  D System.Int32

174. VB.NET中的类型integer对应.NET类库中的()

A.System.Single  B.System.Int16  *C.System.Int32 D.System.Int64

175.调用以下语句后,obj的值是什么?()

dim obj as object =100

obj.tostring()

*A  100   B  ""  C  "100"  D  "obj"

176.执行以下语句后,变量str的值是什么?()

dim str as string ="hello world"

str=str.ToUpper

A. "Hello World"   *B. "HELLO WORLD"  C. "Hello World"  D. "STR"

177.执行以下语句后,控制台的输出是什么?()

Dim str as String="Hello World"

str.ToUpper()

Console.WriteIn(str)

A "Hello World"  B "Hello World" C "str" *D "Hello World"

178.用以下的语句定义了一个委托类型dosomething;

delegate sub dosomething()

则类someclass中的 下列哪些方法可以关联到该委托的实例?()(多选)

A Shared Function getnamelength(Byval name as string)

*B Sub showName()  C Function getage() as Integer

*D Shared sub work()

179.已知变量resp为webresponse 类型,且引用一打开的webrespose实例,请问下列语句得到的流respsrm是何种类型()?dim respsrm as stream=resp.getresponsestream()

*A:只读  B:只写  C:只读可写

200.已知变量resp为webresponse 类型,且引用一的webrespose实例,请问下列语句得到的流reqsrm是何种类型()?dim reqsrm as Stream= resp.GetRequestStream()

A:只读可写  *B:只写  C:只读

201.某程序使用system.net访问internet资源时返回webexception,其status 值等于system.net.webexceptionstatrs.conectionclosed.该错误代码表明()

A:请求被取消   B:未能将完整的请求发送到远程服务器

*C:连接过早关闭  D:在传输层上不能连接远程服务

202.myformatter是一个引用soapformatter对象的变量,stream是一个打开的可写文件流,请问将可序列化对象obj写入流的正确代码是()

A:stream+=myformatter.serialize(obj)

B:myformatter.serialize(stream.write(obj))

*C:myformatter.serialize(stream,obj)

D:stream.vrite(myformatter.serialize(obj))

203.为了对一个类实现自定义的序列化,应使该类实现()

*A:ISerializable B:IObjectReference C:IFormatter :IDeserializationCallback

204.在.NET远程处理框架中,TCP信道的默认格式化程序为:()

A:HttpFormatter *B:BinaryFormatter C:TcpFormatter D:SoapFormatter

205.在.NET远程处理框架中编程时,为了在传输中获得更快的速度,应为远程对象使用的信道注册使用()

A:IP格式化程序B:UDP格式化程序 *C:二进制格式化程序D:SOAP格式化程序

206.解决方案doremotingcall包含3个项目myserver、myclient、common,场景如下:

myserver和myclient分别为两个vb.net控制台项目,common为vb.net类库项目,其中,common项目实现了类helloclass,输出文件为common.dll,myserver引用common.dll,并向.net远程处理框架注册类

A:RemotingConfiguration.RegisterActivatedClientType

B:RemotingConfiguration.RegisterActivatedServiceType

C:RemotingConfiguration.RegisterWellknownClientType

*D:RemotingConfiguration.RegisterWellknownServiceType

207.有两个正在运行的线程A、B。为了将线程B暂停200秒,可以()

*A:在线程B中调用B.Sleep(200000) B:在线程B中调用B.Sleep(200)

C:在线程A中调用B.Sleep(200000) D:在线程A中调用B.Sleep(200)

解析:(一个线程不能对另一个线程调用sleep)

208.类someclass中已知有以下字段定义:

dim i as object=100, j as object=200, k as object=300

则执行下列语句后,这3个字段的值是()

interlocked.compareexchange(i,j.k);

A:i:2, j:200,k:300  *B:i:100,j:200,k:300

C:i:300,j:200,k,100    D:i:100,j:100,k:300

209 类Someclass的方法Read定义如下:

Class someClass1

shared i,j,k As Integer

Dim l,m,n As Integer

Public Function Read() As Integer()

Return New Intreger() {i,j,k}

End Function

End Class

为了使该类选用于多线程运行环境,Read需要对SomeClass类的非静

态字段i,j,k进行独占访问.请问应如何修改Read方法的内容?( )

*A Synclock (GetType(SomeClass))       Return New Integer() {i,j,k}

B  Synclock(SomeClass)         Return New Intreger() {i,j,k}

C  Synclock (i,j,k)         Return New Intreger() {i,j,k}

D  Synclock (me)  Return New Intreger() {i,j,k}

210.类Someclass的方法Read定义如下:

Class someClass1

shared i,j,k As Integer

Dim l,m,n As Integer

Public Function Read() As Integer()

Return New Intreger() {i,j,k}

End Function

End Class

为了使该类选用于多线程运行环境,Read需要对SomeClass类的非静

态字段1,m,n进行独占访问.请问应如何修改Read方法的内容?( )

A  Synclock (i,j,k)        Return New Intreger() {i,j,k}

B  Synclock(SomeClass)         Return New Intreger() {i,j,k}

*C  Synclock (me)       Return New Intreger() {i,j,k}

D Synclock(GetType(SomeClass)) Return New Intreger() {i,j,k}

211.为使托管客户端能够访问对象的方法,.NET Framework提供了( )服

务,以消除托管环境和COM环境的差异.

A 钉住  B COM可凋用包装  *C 运行库可调用包装 D 平台调用

212.为使非托管客户能够访问以COM方式访问托管对象的方法.NET Framework提供了( )服务,以将托管对象包装成COM对象.

A 平台调用  B 运行库可调用包装 *C COM可调用包装 D 信道

213..NET平台调用服务允许:( ).

A 托管代码访问Unixu操作系统下的可执行代码

B 托管代码访问传统COM组件

C 非托管代码调用在程序集DLL中的托管

*D 托管代码调用在DLL中实现的非托管代码

214.在ADO.NET中,使用DataAdapter将数据填充到DataSet,应用下列

哪个方法? ( )

A DataAdapter对象的Update方法 B DataSet对象的Fill方法

C DataSet对象Update方法  *D DataAdapter对象Fill方法

215.在ADO.NET中,为将用户DataSet中进行的改动保存到数据源中,应使用

下列哪个方法? ( )

A DataSet对象的Fill方法  *B DataAdapter对象的Update方法

C DataAdapter对象Fill方法  D DataSet对象的Update方法

216.ADO.NET使用( )作为数据通用传输格式.

A SOAP *B XML  C MPEG  D 二进制流

217.在VB.NET程序中,可以为方法附加( A)属性以帮助调试程序.

*A <Condittional> B <DLLImport> C <STAThread> D <SecureMethod>

218.在VB.NET程序中可以使用(D )属性来引用非托管代码环境中的API

函数.

A <SecureMethod>  B <STAThread> C <Conditional> *D <DLLImport>

219 XML Web服务基于(B)协议在应用程序之间传输XML消息

A:IP  B:SOAP  C:Internet  D:Dcom

220 从使用下列哪个类的实例为其它的stream类的实例提供加密转换服务(B(P24))A:filestream  B:cryptostream  C:memorystream  D:bufferedstream

221.为了向程序中添加Gopher协议,以支持"gopher://"开头的URI,除了创建相应的Gopherwebrequest和Gopherwebponse类,还应采用下列哪种措施(C)  A.调用webreponse类的registerprefix方法

B.调用servicpointmanger类的findservicepoint方法

C.调用webrequest类的registerprefix方法

D.调用webrequest类的Create方法

222.在。NET远程处理框条中TCP信道的默认格式程序为(C)

A Tcp Formatter  B Http Formatter C Binary Formatter D Soap formatter

223在ADO.net中,dataadspter对象使用下列哪个command属性从数据源中删除记录?(A)

A delete command B update command C insert command D select command

前有@为答案

在命令行下使用csc命令编译C#源程序时,可使用()参数来说明程序中引用的其他程序集。

  A、/target  B、/out  C、/linkresource  @D、/reference

2、ASP.NET页的默认扩展名是()。

  A、ascx  @B、aspx  C、html  D、asax

3、某程序集A的版本为:“2.0.1.12”,程序集B版本为:“2.0.0.12”,则按照.NET 版本控制约定,两个程序集的关系为()。

 A、B是A的快速修订版本 B、B是A的完全兼容版本

  @ C、B是A的可能兼容版本   D、B是A的不兼容版本

4、类SomeClass定义如下:

        class SomeClass

{

static int  data ;

}

   现在需要添加一个类构造函数。下列选项中哪个是正确的?() p 100

@A、static SomeClass ( )        ……

  B、static SomeClass ( int i )    ……

  C、pubic static SomeClass ( )    ……

  D、private SomeClass ( )    ……

5、已知类Resource的定义如下:

        class Resource

{

public int Data =0;

}

    则下列语句的运行结果为()

        Resource[] list=new Resource[20];

list[0].Data=20;

int i;

for(i=0;i<=19;i++)

{

System.Console.WriteLine("data={0}",list[i].Data);

}

  A、打印20行,每行输出都是data=0

  B、打印20行,每行输出都是data=null

  C、打印20行,第一行输出为data=0,第2行输出为data=2,...,第20行输出data=19

 @ D、出现运行时异常

6、为了将字符串 str="123,456"转换成整数123456,应该使用下列哪条语句?()

  A、int num=str;

 @Bint num =int.Parse(str,System.Globalization.NumberStyles.AllowThousands);

  C、int num =int(str);

  D、int num =int.Parse(str);

7、类SomeClass的静态事件MouseClicked为MouseClickedEventListener类型。obj为另一个类OthersClass的实例;请问如何将obj.dojob()方法从事件MouseClicked的调用列表中移除?()多选题

  A、RemoveHandler AddressOf Obj.DoJob from SomeClass.MouseClicked

  @B、SomeClass.MouseClicked-=new MouseClickedEventListener( Obj.DoJob)

  C、SomeClass.MouseClicked.Remove(Obj.DoJob)

  DRemoveHandler SomeClass.MouseClicked,new MouseClickedListener(AddressOf Obj.DoJob)

8、为了考察计算机中垃圾回收的信息,在该计算机的性能监控工具(Perfmon.exe)中应监视()对象的计数。

 @ A、.NET CLR Memory  B、.NET CLR Data

  C、.NET CLR JIT  D、.NET CLR Loading

9、、类通过实现()接口,来对他的对象支持显式资源管理。

  @A、IDisposable    B、IDispose  C、IList  D、IEnumerable

10、myformatter是一个引用soapformatter对象的变量。stream是一个打开的可写的文件流。请问将可序列化对象obj写入流正确代码是:()

A. stream+=myformatter.serialize(obj)

B. myformatter.serialize(stream.write(obj))

@C. myformatter.serialize(stream,obj)

D. stream.write(myformatter.serialize(obj))

11、为了对一个类实现自定义的序列化,应使该类实现(E)接口

Iserializable

IDeserializationcallback

Iformatter

D.IobjectReference

12、.NET公共语言运行时的(B) 功能模块负责管理元数据以及加载、部署类。

类加载器

代码管理器

垃圾回收

D  安全引擎

13、.net垃圾收集器要求程序员编写托管程序时。(D)

为对象分配内存但在使用完毕后不必释放它、

 为对象分配内存,在使用后必须释放它 

不为对象分配内存,且在使用后不必须释放它、

不为对象分配内存,且在使用后必须释放它

14. single类型的值可以隐式转换成(A)类型的值而保持值不被改变。

A. double     B.decimal    C.long      D..int

15、、系统将所有包含终止代码的对象放入称为(H)的队列。

复活队列

终止-不可访问队列

终止-可访问队列

终止队列

16、、用Filestream打开一个文件时,可用FileAccess参数控制:(G)

其他FileStream对同一个文件所具有的访问类型

对文件进行随机访问时的定位参考点

对文件进行只读、只写还是读/写

对文件执行覆盖、创建、打开等选项中的哪些操作

17、在。NET远程处理编程中,为了可以在客户端使用构造函数控制服务器对象的初始状态,应将服务器对象注册为(D)

C服务器激活   D客户端激活

18、 ADO.NET使用(B)作为数据通用传输格式

A.SOAP  B.XML  C.MPEG   D.二进制流

19、87、为了对一类实现自定义的序列化的序列化,应使该类实现(B)接口

A.Iobjectreference   B.Iserializable

C.Idbjectrefernce   D.Ideserializationcallback

20、在.NET  Framework class library 中提供了(C)技术,以使托管应用程序可以以断开式的方式访问各种数据库()

A、 ADO   B、ODBC.NET   C、 ADO.NET   D、SQL Server

1  .NET垃圾收集器要求程序员编写托管程序时,(D)。

A  不必为对象分配内存,但在使用完毕后必须释放它

B  不必为对象分配内存,且在使用完毕后不必释放它

C  为对象分配内存,在使用后必须释放它

D  为对象分配内存但在使用完毕后不必释放它

2  .NET Fremework类库中的“命名空间”是一种(C)。

A 结构类型   B数据库  C类类型  D命名规范

下列哪些编程言不区分源程序中标识符的大小写?(C)。

A  C   B  C#  C  Microsoft Visual Basic   D  Microsoft Visual C++

4  在命令行下使用CSC命令编译C#源程序时,可使用(A)参数来说明程序中引用的其他程序集。

A  /reference  B  /linkresource  C  /out  D  /target

5  在C# 中,使用(C)语句捕获异常。

A  if  B  while   C  try 和catch  D  do

6  在C#命令行程序中,未被程序显示处理异常将(B)。

A  导致。NET输出错误消息并退出程序

B  导致。NET以消息框来警告用户

C  导致操作系统崩溃  D  被忽略

7  某程序集的版本为:“2.0.1.112”,则该程序集的内部版本号为(B)。

A  1   B  0     C  2      D  112

8  某程序集A的版本为:“2.0.1.12”,程序集B的版本为:“2.1.1.112”,则按照。NET版本控制约定,两个程序集的关系为(C)。

A  B是A的不兼容版本  B  B是A的可能兼容版本

C  B是A的快速修订版本  D  B是A的完全兼容版本

9  程序MyClass.exe编译时引用强名称程序集MyStringer.dll的1.0.0.1版本;现在,MyStringer.dll开发者提供了一个新的1.0.0.12版本。请问,除了将新版本拷贝并覆盖旧版本文件外,还应(D)。

A  修改Machine.config文件中MyStringer的版本绑定信息

B  不必作任何改动

C  修改MyStringer.dll文件中MyStringer的版本绑定信息

D  修改MyClass.exe.config文件中MyStringer的版本绑定信息

10 文件 MyLib.cs中有以下类的声明:A

Internal class COuter{

Protected class CInner{

Public static short MyPublicShort=0;

}

}

A  可访问   B  不可访问

11  文件 MyLib.cs中有以下类的声明:B

Internal class Couter{

Protected class CInner{

Public static short MyPublicShort=0;

}

}

A  不可访问  B  可访问

12 抽象类 shape和派生类Sqare定义如下:A

Abstract class shape   { public abstract void Draw();}

A  public override void Draw(){} B  protected new void Draw(){}

C  protected override void Draw(){} D  public new voed Draw(){}

13  通用类型系统的一切值类型都是继承自(D)。

A  System.Base  B  System.Type  C  System.Int32 D  System.Value

14  类MyClass定义如下:

Class MyClass{ Static int data; }

现在需要添加一个类构造函数。下列选项中哪个是正确的?(A)

A  static MyClass(){…….. }  B  static MyClass(int i){…….. }

C  public static MyClass(){……}  D  public MyClass(){ ……}

15  float类型的值可以隐式转换成(B)类型的值而保持值不被改变。

A  decimal  B  double  C  long  D  int

16  类MyClass定义如下:(A)

Class MyClass  {  Int data;    Public MyClass(int v) {}}

A  合法  B  不合法

17  字符串数组strArray包含以下元素:(D)

String[] strArray={“this”,”is”,”a”,”test”};

则以下语句在控制台的输出是什么?()

String strAfterJoin=string.Join(“”,strArray);

Console.WriteLine(strAfterJoin);

A  thisisatest B  this is a test C  “this”,”is”,”a”,”test” D  “this””is””a””test”

18  字符串数组strArray包含以下元素:(D)

String[] strArray={“this”,”is”,”a”,”test”};

则以下语句在控制台的输出是什么?()

String strAfterJoin=string.Join(null,strArray);

Console.WriteLine(strAfterJoin);

A  thisisatest B  this is a test C  “this”,”is”,”a”,”test” D  “this””is””a””test”

19  下列语句执行后,变量i的值为多少?

A  false  B  -1  C  1  D  0

20  类MyClass的静态事件 MouseClicked 为MouseClickedEventListener类型 obj 为另一类Othersclass的实例;请问如何将obj.DoSomeThing()方法从事件MouseClicked的调用列表中移除?()

AMyClass.MouseClicked=obj.DoSomething;

BMyClass.MouseClicked.Remove(newMouseClickedEventListener(obj.DoSomething));

C  MyClass.MouseClicked.Remove(obj.DoSomething);

D MyClass.MouseClicked=new MouseClickedEventListener(obj.DoSomething);

21  已知类型DoSomething定义如下:

Public delegate void DoSomething();

类定义如下:

Class MyClass{

Public void sleep() {Console.Writeline(“sleep”);}}

A  m1.sleep();   B  m1=sleep;m1();

C  m1=new sleep();m1();   D  m1=new DoSomething(sleep);m1();

22  场景: 类MyClass中定义了析构方法;

Obj为一个MyClass类型的变量且是一个MyClass对象的唯一引用请问,执行下列哪个语句,类MyClass中定义的析构方法将被调用?

A  调用delete obj;  B  调用GC.Collect();obj=null;

C  调用obj=null;GC.Collect();  D  调用obj=null;GC.SupperessFinalize():

23  场景: 类MyClass中定义了析构方法;

Obj为一个MyClass类型的变量且是一个MyClass对象的唯一引用执行下列哪个语句后,类MyClass中定义的析构方法何时将被调用?()

A  在1小时后被调用  B  在1分钟后被调用

C  会被调用,但无法确定时间  D  立刻

24  类MyClass定义如下。其中OtherClass为另一个类,也在析构方法中提供了终止代码。

Class MyClass

{

OtherClass member=new OTherClass();

}

A  OtherClass  B同时调用  C  MyClass  D无法确定先后顺序

25  用FileStream打开一个文件时,可用FileMode参数控制:()。

A  其它FileStream对同一个文件所具有的访问类型

B  对文件进行随机访问时的定位参考点

C  对文件进行只读、只写还是读、写

D  对文件执行覆盖、创建、打开等选项中的哪些操作

26  用FileStream打开一个文件时,为了控制该FileStream用于创建不存在的文件,应将其()参数设置为Create.

A  FileMode  B  FileAccess  C  FileShare  D  SeekOrigin

27  用FileStream打开一个文件时,可用FileAccess参数控制:()

A  对文件执行覆盖、创建、打开等选项中的哪些操作

B  对文件进行只读、只写还是读/写

C  其他FileStream对同一个文件所具有的访问类型

D  对文件进行随机访问时的定位参考点

28  下列哪些类不属于System..Net.Sockets命名空间?()

A  Socket  B  WebRequest  C  TcpListener  D  TcpClient

29  缺省情况下System.Net命名空间中提供了哪些通信协议的实现?()

A  Ftp  B  Telnet   C  Http   D  File

30 下列选项中,哪些是System..Net. Sockets .NetworkStream流的实例的特性?()

A  可以使用该流接收和发送数据  B 和。NET Framework中的其他流兼容

C  不可查找  D  强制应用程序等待所有数据都下载完后才能使用流

31  System.Net命名空间中的类支持下列哪些标准客户身份认证机制?()

A  摘要  B  NTLM  C  基本  D  Kerberos

32  为了对一个类实现自定义的序列化,应使类实现()接口。

A  ISerializable   B  IObjectReference

C  IFormatter    D  IDeserializationCallback

33  为了将对象序列化为XML流,需要使用下列哪个类?()

A SOAPFormatter B BinaryFormatter  C XMLFormatter  D ObjectFormatter

34  解决方案DoRemotingCall包含3个项目 MyServer、 MyClient、 Common,场景如下:

MyServer和MyClient分别为两个C#控制台项目,Common为C#类库项目。其中,Common项目实现了类 HelloClass,输出文件为Common.dll;MyServer引用Common.dll,并向。NET远程处理框架注册类HelloClass为

A  RemotingConfiguration.RegisterActivatedClientType

B  RemotingConfiguration.RegisterActivatedServiceType

C  RemotingConfiguration.RegisterWellKnownClientType

D  RemotingConfiguration.RegisterWellKnownServiceType

35解决方案DoRemotingCall包含3个项目 MyServer、 MyClient、 Common,场景如下:

MyServer和MyClient分别为两个C#控制台项目,Common为C#类库项目。其中,Common项目实现了类 HelloClass,输出文件为Common.dll;MyServer引用Common.dll,并向。NET远程处理框架注册类HelloClass为

A  RemotingConfiguration.RegisterActivatedClientType

B  RemotingConfiguration.RegisterActivatedServiceType

C  RemotingConfiguration.RegisterWellKnownClientType

D  RemotingConfiguration.RegisterWellKnownServiceType

36  在。NET远程处理编程中,为了可以在客户端使用构造函数控制服务器对象的初始状态,应将服务器对象注册为()。

A  服务器激活  B  客户端激活

37  在。NET远程处理编程中,为了使同一个服务器对象能够同时为多个客户端提供服务,且在各客户调用间保持一致的对象状态,应在服器端将该类注册为()对象。

A 客户端激活对象  B服务器激活singlecall的对象

C服务器激活singleton的对象

38  在用C#编写的控制台程序中创建并访问一个兼容STA的COM组件时,为提高性能,应该为程序入口Main方法设置()属性。

A  [MTAThread]  B  [STAThread] C  [Synchronization] D  [Apartment]

39  若需要对文件“readme .txt”启动使用轮询的异步读取,则在调用以下语句后,应继续调用的方法是():

Byte[] buffer=new byte[1024];

Stream aStream=File.OpenRead(“readme.txt”);

A  int byteRead=aStream.Read(buffer,0,buffer.length)

B  int byteRead=aStream.BeginRead(buffer,0,buffer.length)

C  IAsynResult ar=aStream.Read(buffer,0,buffer.length,null,null)

D  IAsynResult ar=aStream.BeginRead(buffer,0,buffer.length,null,null)

40  在以回调方式使用异步委托MyDelegate时,使用如下回调方法:

Public void MyCallBack(IAsyncResult ar){

………………..  // 回调函数的代码

}

请问,为了进一步获取结果,从回调方法的参数中提取委托的语句

A  MyDelegate md=(MyDelegate)((AsyncResult)ar).AsyncDelegate;

B  MyDelegate md=((AsyncResult)ar).AsyncDelegate;

C  MyDelegate md=ar.GetMyDelegate();

D  MyDeleGate md=new MyDelegate(ar);

41  MyClass.BusyRun是类MyClass的一个静态方法,它运行一次需要2个小时,它的作用是在屏幕的随机位置画一个圆。使用以下代码创建一个新的托管线程t1:

Thread t1=new Thread(new ThreadStart(MyClass.ThreadRun));

其中。若随后连续调2次以下语句:

A  第二次调用后,有两个线程在运行

B  第二次调用后,有一个线程在运行,并激发一个异常

C  第二次调用后,没有任何线程运行

42  为了设置线程t1的执行优先级,需访问t1的()属性。

A  ThreadState B  IsBackgroud  C  IsAlive  D  Priority

43  下列程序中,DllImport属性的用法是否正确?()

――――没有完整的题目

Using System;

Using System.Runtime.InteropServices;

Namespace CS_15{

[DllImport(“KERNEL32.DLL”,EntryPoint=”MoveFileW”,)]

}

A  错误  B  正确

44  下列程序中,DllImport属性的用法是否正确?()

――――没有完整的题目

Using System;

Using System.Runtime.InteropServices;

Namespace CS_15{

[DllImport(“KERNEL32.DLL”,EntryPoint=”MoveFileW”,)]

}

A  错误    B  正确

45  Win32 API函数MessageBoxW的签名如下:

Int MessageBox(HWND hwnd,LPCTSTR lpText,LPCTSR lpCaption,UINT uType); 则在C#程序中使用平台调用将该函数引入后,应如何声明该函数的参数?()

A  MessageBox(int hwnd,StringBuilder text,StringBuilder caption,long type)

B  MessageBox(int hwnd,String text,StringBuilder caption,long type)

C  MessageBox(int hwnd,StringBuilder text,String caption,long type)

D  MessageBox(int hwnd,String text,String caption,long type)

46  在ADO.NET中,使用DataAdapter将数据源数据填充到DataSet,应使用下列哪个方法?()

A  DataAdapter对象的Fill方法 B  DataSet对象的Fill方法

C  DataAdapter对象的Update方法  D  DataSet对象的Update方法

47  在ADO.NET中,为将用户在DataSet中进行的改动保存到数据源中,应使用下列哪个方法?()

A  DataAdapter对象的Fill方法 B  DataSet对象的Fill方法

C  DataAdapter对象的Update方法 D  DataSet对象的Update方法

48  dataTable是数据集myDataSet中的数据表对象,有9条记录。调用下列代码后,dataTable中还有几条记录?()

A  8     B  1    C  9    D  0

49  为了检查为类附加的所有属性的信息,应使用()命名空间提供()功能。

A  System.Runtime,运行时  B  System.Reflection,反射

C  System.Resources,资源管理  D  System.Configuration,配置

50  。NET托管程序中,属性(Attribute)编程是一种向类添加()的技术。

A  元数据  B  类成员  C  代码  D  编译指令

基于C#的.NET Framework 程序设计(MAC)

1. .NET Framework 可以运行在下列哪些操作系统之上,并为托管程序提供支持?(ABD) (源码网整理:www.codepub.com)

A. WindowsNT 4.0   B. Windows 2000 Professional

C. Windows 98 SE   D. WindowsXP Home Edition

2. .NET 公共语言运行时的安全引擎为.NET 托管程序代码的执行提供基于_________的安全机制。(C)

A. 用户和密码  B. 证书  C. 证据  D. 数据加密

3. ADO.NET 使用_______命名空间的类访问SQL Server 数据库中的数据。(B)  A. System.Data.OleDb B. System.Data.SqlClient

C. System.Xml.Serialization D. System.IO

4. 下列的Main 方法的定义是否为合法的程序入口点?

namespace MyProgram{

public static void Main() {MyClass.DoSomething();}

class MyClass{ public static void DoSomething(){??} }} (B)

A. 合法 B. 不合法

5. 在命令行下使用csc 命令编译C#源程序时,可使用_________参数来说明生成 Windows可执行文件。(B)

A. /target:exe   B. /target:winexe  C. /target:library D. /target:module

6. 一个多文件程序集中包含1 个程序集清单文件、3 个模块文件和2 个资源文件。下列哪些信息包含在模块文件的元数据中?(D)

A. 程序集名称 B. 程序集引用的的文件列表 C. 本模块代码

D. 本模块中声明的数据类型信息

7. 下列哪些选项是.NET 异常处理的特点?(D)

A. .NET 异常对象是一种特殊格式的32 位整型值

B. C#代码中抛出的异常对象,只能在C#编写的代码中捕获

C. 无法跨越进程边界引发和捕获异常对象

D. 不同编程语言抛出/捕获异常对象的句法可以不同

8. 以下类MyClass 的属性count 属于_____属性.(A)

class MyClass { int i; int count {get{ return i; } } }

A. 只读  B. 只写  C. 可读写  D. 不可读不可写

9. 在编写ASP.NET 页面时,若希望在每次页面载入时执行某个操作,则应将相应代码写入_______事件处理程序中。(A)

A. 页面的Load B.页面的initC. 页面的PreRender D. 页面的Disposed 消息

10. 关于程序集,下列正确的说法是:(ACD)

A. 程序集可以由一个文件组成,也可由多个文件组成

B. 一个程序集中可有多个程序集清单

C. 一个程序集中可定义多个命名空间

D. 程序集是可自描述的

11. 程序集MyWork.dll 部署在E:\MyWork\下,则该程序集的配置文件应保存在:(B)

A. E:\ 文件夹下  B. E:\MyWork\文件夹下

C. E:\MyWork\MyWork 文件夹下  D. E:\MyWork\MyWork.dll\ 文件夹下

12. 某程序集的版本为:“2.0.1.112”,则该程序集的次版本号为:(A)

A. 0    B. 1   C. 2  D. 112

13. 类MyClass 中,下列哪条语句定义了一个只读的属性Count?(B)

A. private int Count;

B. private int count; public int Count{get{return count;}}

C. public readonly int Count;

D. public readonly int Count {get{ return count;} set{count = value;} }

14. C#中的类型float 对应.NET 类库中的(A)

A. System.Single  B. System.Double C. System.Int32 D. System.Int64

15. 判断下列类MyClass 的定义中哪些是合法的抽象类?(A)

A. abstract class MyClass { public abstract int getCount(); }

B. abstract class MyClass { abstract int getCount(); }

C. private abstract class MyClass { abstract int getCount(); }

D. sealed abstract class MyClass { abstract int getCount(); }

16. 在自定义的类MyClass 中,应重载继承自System.Object 类的哪个方法,以实现自定义的哈希算法?(A)

A. GetHashCode  B. Equals  C. ReferenceEquals  D. ToString

17. 已知变量I 有如下定义:int I = 1000;

则下列类型转换中,哪些出现了数据精度的丢失?(AD)

A. byte J = (byte)I;   B. long L = (long)I;

C. double D = (double)I;   D. short S = (short)I;

18. 已知接口IHello 和类Base、MyClass 的定义如下

interface IHello {

void Hello();

}

class Base : IHello {

public void Hello()

{

System.Console.WriteLine("Hello in Base!");

}

}

class Derived : Base {

public void Hello()

{

System.Console.WriteLine("Hello in Derived!");

}  }

则下列语句在控制台中的输出结果为_____。(A)

IHello x = new Derived();   x.Hello();

A. Hello in Base!B. Hello in Derived!C. Hello in Base!Hello in Derived!

D. Hello in Derived!Hello in Base!

19. 为了将字符串str=“123,456”转换成整数123456,应该使用以下哪条语句?(D)

A. int Num = int.Parse(str);  B. int Num = str.Parse(int); C. int Num = (int)str;

D. int Num = int.Parse(str,Globalization.NumberStyles.AllowThousands);

20. 下列数组初始化语句哪些是正确的?(ABD)

A. int[] nums = new int[]{0,1,2,3,4};

B. int[] nums2 = {0,1,2,3,4,5};

C. int[][] num_1 = {new int[]{0,1},new int[]{0,1,2},new int[]{0,1,2,3}};

D. int[][] num_2 = {{0,1},{0,1,2},{0,1,2,3}};

21. 已知结构Resource 的定义如下:

struct Resource{public int Data = 0;}

则下列语句的运行结果为_________。

Resource[] list= new Resource[20];

for(int i = 0;i<20;i++){

System.Console.WriteLine(“data={0}”,list.Data);

} (A)

A. 打印20 行,每行输出都是 data=0

B. 打印20 行,每行输出都是 data=null

C. 打印20 行.第1 行输出data=0,第2 行输出data=2,?,第20 行输出data=19   D. 出现运行时异常

22. 分析下列语句:namespace TestCS{public delegate void Hello(string target); }  该语句的作用是:(D)

A. 在TestCS 命名空间中定义了一个名为Hello 的全局方法;

B. 在TestCS 命名空间中声明了函数Hello 的原型;

C. 在TestCS 命名空间中定义了一个名为Hello 的函数指针;

D. 在TestCS 命名空间中定义了了一个名为Hello 的委托类型;

23. 已知类型DoSomething 定义如下:

public delegate void DoSomething();

a,b,c,d 是DoSomething 的变量,分别有以下调用列表:

a: objA.Func1、objA.Func2  b: objA.Func1、Class1.StaticFunc

c:objA.Func1、Class2.StaticFunc  d: Class2.StaticFunc

其中objA 为类Class1 的对象,objB 为类Class2 的对象。则执行b=b+c 后,变量b 关联的方法数目为:(C)

A. 2  B. 3  C. 4  D. 5

24. 已知类MyClass 中事件MouseClicked 定义如下:

public static event MouseClickedListener MouseClicked;

执行下列语句:

MouseClicked += new MouseClickedListener(obj.DoSomething);

MouseClicked += new MouseClickedListener(obj.DoSomething);

然后引发该MouseClicked 事件,其结果为:(B)

A. obj.DoSomething 方法被调用4 次

B. obj.DoSomething 方法被调用2 次

C. obj.DoSomething 方法被调用1 次

D. obj.DoSomething 方法不会被调用

25. 下列代码存在一个编译错误。如何消除该错误?(左边为行号)

1 public void Test(object param) {  2 Resource r0 = new Resource(100);

3 using( Resource r1 = new Resource(100)) {

4 r1.print();  5 r1 = new Resource(50);  6 }  7 }(C)

A. 第1 行声明的param 参数未在方法内使用。删除该参数;

B. 第3 行修改为:using( Resource r1 = new Resource(100);) {

C. 删除第5 行  D. 第5 行修改为:r1=r0;

26. 变量obj,obj2 都是MyClass 类型的变量,其中,变量obj 是类MyClass 某对象的唯一引用。执行下列语句后,obj2 的值是_____。

WeakReference wr = new WeakReference(obj);

obj=null;

obj2 = (MyClass)wr.Target;  (B)

A. null   B. obj

27. 在类实现的Dispose 方法中,一般应调用______来阻止类终止器的执行。(D)

A. GC.Collect();   B. GC.GetGeneration(this);

C. GC.ReRegisterForFinalize(this);  D. GC.SuppressFinalize(this);

28. 下列哪些Stream 类不支持查找操作?(D)

A. FileStream B. MemoryStream C. BufferedStream D. NetworkStream

29. 整型数组MyIntArray 的定义和初始化如下。为了将数组MyIntArray 的所有元素值写入FileStream 流,可创建_______类的实例对该流进行写入。

int[] MyIntArray = new int[400];  for(int i = 0;i<400;i++) MyIntArray=i; (A)

A. BinaryWriter B. StreamWriter C. TextWriter D. StringWriter

30. 用FileStream 打开一个文件时,可用FileShare 参数控制:(C)

A. 对文件执行覆盖、创建、打开等选项中的哪些操作;

B. 对文件进行只读、只写还是读/写

C. 其他FileStream 对同一个文件所具有的访问类型

D. 对文件进行随机访问时的定位参考点

31. 下列哪个选项不属于URI 的组成部分?(B)

A. 方案标识符 B. 客户机标识符 C. 路径标识符 D. 查询字符串

32. 若Internet 资源要求验证客户端身份,WebRequest.GetResponse 方法将引发一个身份验证过程。此过程成功结束后,身份验证模块将向WebRequest 实例返回一个____类实例,该实例包含Internet 服务器的验证消息。(A)

A. Authorization B. WebResponse C. Cookie D. NetworkCredential

33. 某程序使用System.Net 访问Internet 资源时返回WebException。请问,其Status 值等于下列哪个选项时,表明从服务器接收的响应是完整的,但在协议级别上有错误?(B)

A. System.Net.WebExceptionStatus.ReceiveFailure

B. System.Net.WebExceptionStatus.ProtocolError

C. System.Net.WebExceptionStatus.SendFailure

D. System.Net.WebExceptionStatus.Timeout

34. C#中,将类加上_______属性来标记该类支持序列化。(A)

A. [Serializable] B. [Formatable] C. [Stream] D. [STAThread]

35. 在处理对象图的反序列化过程中,ObjectManager 可以确定:对序列化流中的某个对象

的引用,是指向一个已经反序列化的对象,还是指向一个尚未反序列化的对象。其中对已经反序列化的对象的引用被称为________。(B)

A. 前向引用 B. 后向引用C. 正引用D. 反引用

36. 解决方案DoRemotingCall 包含3 个项目MyServer、MyClient、Common,场景如下:MyServer 和MyClient 分别为两个C# 控制台项目,Common 为C#类库项目。其中,Common 项目实现了类Class1 和Class2,输出文件为Common.dll ;MyServer 引用Common.dll,并准备向.NET 远程处理框架注册类Class1、Class2 为“服务器激活”对象;MyClient 引用Common.dll,并希望可以通过.NET 远程处理以“服务器激活”方式访问由MyServer 进程创建的Class1、Class2 类的对象。现在要为MyServer 注册两个信道对象:Channel1 和Channel2,分别用于客户端对Class1 和Class2 类的对象的访问;因此,需要在MyServer 的Main 方法中注册2 个信道、注册2 个服务器类。请问,它们正确的顺序是:(A)

A. 注册 Channel1、注册Channel2、注册类Class1、注册类Class2

B. 注册 Channel1、注册类Class1、注册Channel2、注册类Class2

C. 注册类Class1、注册类Class2、注册 Channel1、注册Channel2

D. 注册类Class1、注册 Channel1、注册类Class2、注册Channel2

37. 在IIS 服务器中承载远程对象时,应考虑使用_______,从而获得IIS 在身份验证、授权等安全方面的有力支持。(A)

A. HttpChannel B. TcpChannel C. UdpChannel D. SLLChannel

38. 在.NET 远程处理中,_________的类的实例可以跨应用程序域进行按值封送。(B)

A. 实现Iserializable 接口 B. 具有[Serializable]属性

C. 实现IObjectReference 接口 D. 从MarshalByRefObject 类继承

39. 为了判断线程t1 是否是在后台运行,需访问t1 的______属性。(B)

A. CurrentThread B. IsBackgroud C. IsAlive D. ThreadState

40. 类MyClass 中已知有以下字段定义:

object i = 100,j=200, k=300;

则执行下列语句后,这3 个字段的值是______:(B)

Interlocked.CompareExchange(ref i,j,k);

A. i:100,j:200,k:300 B. i:200,j:200,k:300

C. i:300,j:200;k:100 D. i:100,j:100,k:300

41. 多线程C#程序中,类MyClass 定义如下:

class MyClass {

ReaderWriterLock rwl = new ReaderWriterLock();

private int i;

public void Read() {

rwl.AcquireReaderLock(Timeout.Infinite);

Interlocked.Increment(ref i); Thread.Sleep(1000);

rwl.ReleaseReaderLock();

}

public void Write() {

rwl.AcquireWriterLock(Timeout.Infinite);

Interlocked.Decrement(ref i); Thread.Sleep(1000);

rwl.ReleaseWriterLock();

}}请问,可以有多少个线程同时调用Read()并将i 的值加1?(C)

A. 0 个 B. 1 个 C. 多个

42. 利用__________服务,托管代码可以调用在动态链接库 (DLL)(如 Win32 API 中的DLL)中实现的非托管函数。(A)

A. 平台调用 B. 运行库可调用包装 C. COM 可调用包装 D. 信道

43. 下列程序中,DllImport 属性的用法是否正确?

using System;

using System.Runtime.InteropServices;

namespace CS_15 {

public class Test{

[DllImport("KERNEL32.DLL", EntryPoint="MoveFileW",

CharSet=CharSet.Unicode)]

public extern bool MoveFile(string src, string dst);

static void Main(string[] args)

{

MoveFile(@"e:\1\1.txt",@"e:\2\");

}}}(B)

A. 正确 B. 错误

44. 在ADO.NET 中,执行数据库的某个存储过程,则至少需要创建________并设置它们的属性,调用合适的方法:(A)

A. 一个Connection 对象和一个Command 对象

B. 一个Connection 对象和DataSet 对象

C. 一个Command 对象和一个DataSet 对象

D. 一个Command 对象和一个DataAdapter 对象

45. 在使用ADO.NET 编写连接到SQL Server 2000 数据库的应用程序时,从提高性能角度考虑,应创建______类的对象,并调用其Open 方法连接到数据库。(B)

A. Connection B. SqlConnection C. OleDbConnection D. OdbcConnection

46. 在ADO.NET 中,DataAdapter 对象下列哪个Command 属性用于将DataSet 中的新增记录保存到数据源?(B)

A. Select Command B. Insert Command

C. Update Command  D. Delete Command

47. .NET 托管程序中,可以为下列哪些编程元素附加属性?(BCD)

A. 命名空间 B. 程序集 C. 模块 D. 类

48. 在C#程序中,可以使用_______属性来引用处于非托管代码环境中的函数。(A)

A. [DllImport]B. [Conditional]C. [STAThread]D. [SecureMethod]

49. 某自定义属性类未使用[AttributeUsage]进行标记,如下所示:

public class MyAttribute : Attribute

{

public int index;

protected string context;

public static int count;

}

则该属性类:(AD)

A. 不允许将该属性类的多个实例附加到同一目标

B. 允许将该属性类的多个实例附加到同一目标

C. 仅可以将该属性附加到类定义上

D. 可以将该属性附加到.NET Framework 规定的任意有效目标上

50. 为了确定是否为类MyClass 附加了属性NameAttribute,应使用以下哪个语句?(A)

A. bool b = typeof(MyClass).IsDefined(typeof(NameAttribute),false);

B. bool b = typeof(MyClass).IsDefined(typeof(Name),false);

C.bool b= typeof(MyClass).HasDefined(typeof(NameAttribute),false);

D. bool b = typeof(MyClass).HasDefined(typeof(Name),false);

C_.NET+Framdwork题库(未整理完,有时间再补)相关推荐

  1. 【原创】CSSOO的思想及CSS框架的应用(未整理完)

    CSSOO的思想及CSS框架的应用 前语:通过这次研究分析总结,个人对CSSOO的概念及应用的思路也更明确一些,是一个和大家共同学习的过程. 一.CSS框架 框架目的: 给出一个相对规范的开发方法,给 ...

  2. H12-723题库-个人整理笔记

    H12-723: Agile Controller-Campus 系统架构属于 C/S 架构. A.正确 B.错误 答案:B Agile Controller-Campus 系统架构属于 B/S 架构 ...

  3. electron 笔记大全(未整理完)

    electron大部分常用的API都在这了 主进程核心代码: const { app, BrowserWindow } = require('electron)app.on('ready', () = ...

  4. 在树洞里,渝粤题库在线整理

    在树洞里 在树洞里,我看到了一些领国家助学金的同学大手大脚,也看到了一些同学好像并不困难,我更看到了许多拿了学校的奖励,可是连写感谢信都不愿意写,觉得很麻烦的同学.我想把我的故事讲给你们听. 我来自单 ...

  5. Android介绍(未整理完...)

    Android介绍 ​ Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发.尚未有统一中文名称,中国大 ...

  6. 【OCP-052】052考试题库一变再变,完整题库收集整理-第15题

    15.Which two are true about space management in tablespaces? A) Locally managed tablespaces have eit ...

  7. linux下使用过的命令总结(未整理完)

    1.常用命令不需解释 ls\cd\cp\mv\pwd\file\vi\vim\cat 2.getconf LONG_BIT 终端返回32表示操作系统32位,返回64表示操作系统64位. 3.ifcon ...

  8. oracle 052 题库变了,Oracle OCP题库变了,052全新题库收集整理-30

    30.Which is true when a database instance is shut down? A. Only transactional and normal modes wait ...

  9. 历年英语计算机统考真题,2018年计算机应用基础统考题库网考原题真题(完整版)...

    一.单选题 1.世界上第一台电子数字计算机采用的电子器件是______. A.大规模集成电路 B.集成电路 C.晶体管 D.电子管 答案:D 远程教育.网络教育大学英语B.计算机应用基础,整套题库,整 ...

最新文章

  1. 数据结构与算法(C++)– 栈(Stack)
  2. caffe使用过程中遇到的问题和解决办法
  3. 瑞星2008网络版序列号大全
  4. .NET 6新特性试用 | 隐式using指令
  5. nginx简单代理配置
  6. java的继承和访问_Java 继承和访问控制
  7. oracle数据库部署策略,Oracle数据库部署实施流程
  8. jquery选择器_jQuery选择器
  9. 测试的主要评测方法(3)
  10. 人民邮电出版社图灵公司征求《Windows Communication Foundation Unleashed》译者
  11. 未来机器人背景的AI人工智能PPT模板
  12. 九个最佳ICON图标搜索引擎
  13. linux宝塔下如何强制ssl,宝塔面板一键安装SSL证书强制HTTPS访问设置
  14. Windows找回磁盘被病毒感染后隐藏的文件
  15. 好用简单、且永久免费的内网穿透工具
  16. 【Golang开发面经】字节跳动(三轮技术面)
  17. Logstash Grok详解
  18. 如何免费将PDF转成JPG
  19. MUI开发大全(小程序前端框架)
  20. Camouflaged Object Detection阅读笔记

热门文章

  1. 互联网并发与安全系列教程(07) - 常见的Web安全漏洞(其它漏洞)
  2. c语言方式表达教师节快乐,教师节丨纸短情长 难忘师恩 请您收下这封慰问信(内含表彰名单)...
  3. (转载)SAP第三方销售实现方法
  4. 记2014“蓝桥杯全国软件大赛决赛北京之行
  5. html 必应网搜索,教程:创建自定义搜索网页 - 必应自定义搜索 - Azure Cognitive Services | Microsoft Docs...
  6. 050002《马云说》读后感——勇者无畏
  7. Nginx访问限制配置
  8. Jini技术常见问题解答
  9. nltk学习之统计词频和分词nltk.word_tokenize nltk.FreqDist
  10. 消息队列消息丢失和消息重复发送的处理策略