分类: 计算机各类相关题 |
基于C#的.NET
Framework 程序设计(MAC) 1. .NET Framework 可以运行在下列哪些操作系统之上,并为托管程序提供支持? A. WindowsNT 4.0 B. Windows 2000 Professional C. Windows 98 SE D. WindowsXP Home Edition 正确答案:A,B,D 2. .NET 公共语言运行时的安全引擎为.NET 托管程序代码的执行提供基于_________的安 全机制。 A. 用户和密码 B. 证书 C. 证据 D. 数据加密 正确答案:C 3. ADO.NET 使用_______命名空间的类访问SQL Server 数据库中的数据。 A. System.Data.OleDb B. System.Data.SqlClient C. System.Xml.Serialization D. System.IO 正确答案:B 4. 下列的Main 方法的定义是否为合法的程序入口点? namespace MyProgram{ public static void Main() {MyClass.DoSomething();} class MyClass{ public static void DoSomething(){镲} } } A. 合法 B. 不合法 正确答案:B 5. 在命令行下使用csc 命令编译C#源程序时,可使用_________参数来说明生成 Windows 可执行文件。 A. /target:exe B. /target:winexe C. /target:library D. /target:module 正确答案:B 6. 一个多文件程序集中包含1 个程序集清单文件、3 个模块文件和2 个资源文件。下列哪 些信息包含在模块文件的元数据中? A. 程序集名称 B. 程序集引用的的文件列表 C. 本模块代码 D. 本模块中声明的数据类型信息 正确答案:D 7. 下列哪些选项是.NET 异常处理的特点? A. .NET 异常对象是一种特殊格式的32 位整型值 B. C#代码中抛出的异常对象,只能在C#编写的代码中捕获 C. 无法跨越进程边界引发和捕获异常对象 D. 不同编程语言抛出/捕获异常对象的句法可以不同 正确答案:D 8. 以下类MyClass 的属性count 属于_____属性. class MyClass { int i; int count { get{ return i; } } } A. 只读 B. 只写 C. 可读写 D. 不可读不可写 正确答案:A 9. 在编写ASP.NET 页面时,若希望在每次页面载入时执行某个操作,则应将相应代码写入 _______事件处理程序中。 A. 页面的Load B. 页面的init C. 页面的PreRender D. 页面的Disposed 消息 正确答案:A 10. 关于程序集,下列正确的说法是: A. 程序集可以由一个文件组成,也可由多个文件组成 B. 一个程序集中可有多个程序集清单 C. 一个程序集中可定义多个命名空间 D. 程序集是可自描述的 正确答案:A,C,D 11. 程序集MyWork.dll 部署在E:\MyWork\下,则该程序集的配置文件应保存在: A. E:\ 文件夹下 B. E:\MyWork\文件夹下 C. E:\MyWork\MyWork 文件夹下 D. E:\MyWork\MyWork.dll\ 文件夹下 正确答案:B 12. 某程序集的版本为:“2.0.1.112”,则该程序集的次版本号为: A. 0 B. 1 C. 2 D. 112 正确答案:A 13. 类MyClass 中,下列哪条语句定义了一个只读的属性Count? 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;} } 正确答案:B 14. C#中的类型float 对应.NET 类库中的 A. System.Single B. System.Double C. System.Int32 D. System.Int64 正确答案:A 15. 判断下列类MyClass 的定义中哪些是合法的抽象类? 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(); } 正确答案:A 16. 在自定义的类MyClass 中,应重载继承自System.Object 类的哪个方法,以实现自定义 的哈希算法? A. GetHashCode B. Equals C. ReferenceEquals D. ToString 正确答案:A 17. 已知变量I 有如下定义: int I = 1000; 则下列类型转换中,哪些出现了数据精度的丢失? A. byte J = (byte)I; B. long L = (long)I; C. double D = (double)I; D. short S = (short)I; 正确答案:A,D 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!"); } } 则下列语句在控制台中的输出结果为_____。 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! 正确答案:A 19. 为了将字符串str=“123,456”转换成整数123456,应该使用以下哪条语句? 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); 正确答案:D 20. 下列数组初始化语句哪些是正确的? 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}}; 正确答案:A,B,D 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. 打印20 行,每行输出都是 data=0 B. 打印20 行,每行输出都是 data=null C. 打印20 行.第1 行输出data=0,第2 行输出data=2,铮20 行输出data=19 D. 出现运行时异常 正确答案:A 22. 分析下列语句: namespace TestCS{ public delegate void Hello(string target); } 该语句的作用是: A. 在TestCS 命名空间中定义了一个名为Hello 的全局方法; B. 在TestCS 命名空间中声明了函数Hello 的原型; C. 在TestCS 命名空间中定义了一个名为Hello 的函数指针; D. 在TestCS 命名空间中定义了了一个名为Hello 的委托类型; 正确答案:D 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 关 联的方法数目为: A. 2 B. 3 C. 4 D. 5 正确答案:C 24. 已知类MyClass 中事件MouseClicked 定义如下: public static event MouseClickedListener MouseClicked; 执行下列语句: MouseClicked += new MouseClickedListener(obj.DoSomething); MouseClicked += new MouseClickedListener(obj.DoSomething); 然后引发该MouseClicked 事件,其结果为: A. obj.DoSomething 方法被调用4 次 B. obj.DoSomething 方法被调用2 次 C. obj.DoSomething 方法被调用1 次 D. obj.DoSomething 方法不会被调用 正确答案:B 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 } A. 第1 行声明的param 参数未在方法内使用。删除该参数; B. 第3 行修改为:using( Resource r1 = new Resource(100);) { C. 删除第5 行 D. 第5 行修改为:r1=r0; 正确答案:C 26. 变量obj,obj2 都是MyClass 类型的变量,其中,变量obj 是类MyClass 某对象的唯一 引用。执行下列语句后,obj2 的值是_____。 WeakReference wr = new WeakReference(obj); obj=null; obj2 = (MyClass)wr.Target; A. null B. obj 正确答案:B 27. 在类实现的Dispose 方法中,一般应调用______来阻止类终止器的执行。 A. GC.Collect(); B. GC.GetGeneration(this); C. GC.ReRegisterForFinalize(this); D. GC.SuppressFinalize(this); 正确答案:D 28. 下列哪些Stream 类不支持查找操作? A. FileStream B. MemoryStream C. BufferedStream D. NetworkStream 正确答案:D 29. 整型数组MyIntArray 的定义和初始化如下。为了将数组MyIntArray 的所有元素值写入 FileStream 流,可创建_______类的实例对该流进行写入。 int[] MyIntArray = new int[400]; for(int i = 0;i<400;i++) MyIntArray=i; A. BinaryWriter B. StreamWriter C. TextWriter D. StringWriter 正确答案:A 30. 用FileStream 打开一个文件时,可用FileShare 参数控制: A. 对文件执行覆盖、创建、打开等选项中的哪些操作; B. 对文件进行只读、只写还是读/写 C. 其他FileStream 对同一个文件所具有的访问类型 D. 对文件进行随机访问时的定位参考点 正确答案:C 31. 下列哪个选项不属于URI 的组成部分? A. 方案标识符 B. 客户机标识符 C. 路径标识符 D. 查询字符串 正确答案:B 32. 若Internet 资源要求验证客户端身份,WebRequest.GetResponse 方法将引发一个身份 验证过程。此过程成功结束后,身份验证模块将向WebRequest 实例返回一个__________ 类实例,该实例包含Internet 服务器的验证消息。 A. Authorization B. WebResponse C. Cookie D. NetworkCredential 正确答案:A 33. 某程序使用System.Net 访问Internet 资源时返回WebException。请问,其Status 值 等于下列哪个选项时,表明从服务器接收的响应是完整的,但在协议级别上有错误? A. System.Net.WebExceptionStatus.ReceiveFailure B. System.Net.WebExceptionStatus.ProtocolError C. System.Net.WebExceptionStatus.SendFailure D. System.Net.WebExceptionStatus.Timeout 正确答案:B 34. C#中,将类加上_______属性来标记该类支持序列化。 A. [Serializable] B. [Formatable] C. [Stream] D. [STAThread] 正确答案:A 35. 在处理对象图的反序列化过程中,ObjectManager 可以确定:对序列化流中的某个对象 的引用,是指向一个已经反序列化的对象,还是指向一个尚未反序列化的对象。其中对 已经反序列化的对象的引用被称为________。 A. 前向引用 B. 后向引用 C. 正引用 D. 反引用 正确答案:B 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. 注册 Channel1、注册Channel2、注册类Class1、注册类Class2 B. 注册 Channel1、注册类Class1、注册Channel2、注册类Class2 C. 注册类Class1、注册类Class2、注册 Channel1、注册Channel2 D. 注册类Class1、注册 Channel1、注册类Class2、注册Channel2 正确答案:A 37. 在IIS 服务器中承载远程对象时,应考虑使用_______,从而获得IIS 在身份验证、授 权等安全方面的有力支持。 A. HttpChannel B. TcpChannel C. UdpChannel D. SLLChannel 正确答案:A 38. 在.NET 远程处理中,_________的类的实例可以跨应用程序域进行按值封送。 A. 实现Iserializable 接口 B. 具有[Serializable]属性 C. 实现IObjectReference 接口 D. 从MarshalByRefObject 类继承 正确答案:B 39. 为了判断线程t1 是否是在后台运行,需访问t1 的______属性。 A. CurrentThread B. IsBackgroud C. IsAlive D. ThreadState 正确答案:B 40. 类MyClass 中已知有以下字段定义: object i = 100,j=200, k=300; 则执行下列语句后,这3 个字段的值是______: 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 正确答案:B 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? A. 0 个 B. 1 个 C. 多个 正确答案:C 42. 利用__________服务,托管代码可以调用在动态链接库 (DLL)(如 Win32 API 中的 DLL)中实现的非托管函数。 A. 平台调用 B. 运行库可调用包装 C. COM 可调用包装 D. 信道 正确答案:A 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\"); } } } A. 正确 B. 错误 正确答案:B 44. 在ADO.NET 中,执行数据库的某个存储过程,则至少需要创建________并设置它们的属 性,调用合适的方法: A. 一个Connection 对象和一个Command 对象 B. 一个Connection 对象和DataSet 对象 C. 一个Command 对象和一个DataSet 对象 D. 一个Command 对象和一个DataAdapter 对象 正确答案:A 45. 在使用ADO.NET 编写连接到SQL Server 2000 数据库的应用程序时,从提高性能角度考 虑,应创建______类的对象,并调用其Open 方法连接到数据库。 A. Connection B. SqlConnection C. OleDbConnection D. OdbcConnection 正确答案:B 46. 在ADO.NET 中,DataAdapter 对象下列哪个Command 属性用于将DataSet 中的新增记录 保存到数据源? A. Select Command B. Insert Command C. Update Command D. Delete Command 正确答案:B 47. .NET 托管程序中,可以为下列哪些编程元素附加属性? A. 命名空间 B. 程序集 C. 模块 D. 类 正确答案:B,C,D 48. 在C#程序中,可以使用_______属性来引用处于非托管代码环境中的函数。 A. [DllImport] B. [Conditional] C. [STAThread] D. [SecureMethod] 正确答案:A 49. 某自定义属性类未使用[AttributeUsage]进行标记,如下所示: public class MyAttribute : Attribute { public int index; protected string context; public static int count; } 则该属性类: A. 不允许将该属性类的多个实例附加到同一目标 B. 允许将该属性类的多个实例附加到同一目标 C. 仅可以将该属性附加到类定义上 D. 可以将该属性附加到.NET Framework 规定的任意有效目标上 正确答案:A,D 50. 为了确定是否为类MyClass 附加了属性NameAttribute,应使用以下哪个语句? 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); 正确答案:A |