1.  .NET框架的核心组件包括(BD)(选择两项)

  A.CTS   (通用类型系统)

  B.CLR   (公共语言运行时,.NET的基础)

  C.CLS   (公共语言规范)

  D.FCL   (框架类库,.NET一个综合性的面向对象集合)


2.  在C#中下列选项说法正确的是(B)。

A.一个类允许有一个以上的父类               (单根性)

   B.父类包含公开属性A,则子类构造函数内部可以访问A

   C.一个类的继承层次不允许超过3层          (传递性)

D.如果X是Y的子类,Z是Y的父类,则Z是X的子类    (X是子类,Y是父类,Y是Z的子类,X是Z的子类)


3. 在C#中,关于文件操作相关的类说法正确的是(AB)(选择两项)。

A. FileInfo类提供了用于操作文件的实例方法

  B. File类提供了用于操作文件的静态方法

  C. Directory类提供了操作目录的实例方法              (Directory类提供了操作目录的静态方法)

  D. DirectoryInfo类提供了操作目录的静态方法        (DirectoryInfo类提供操作目录的实例方法)


4.关于C#抽象类和抽象方法,以下说法错误的是(C)。

 A.定义抽象类和抽象方法时使用abstract修饰

 B.抽象方法不能定义方法主体

 C.抽象方法和虚方法一样,可以定义在除了密封类之外的所有类之中

 D.使用抽象类和抽象方法可以实现多态


5.下列关于List<T> 的说法错误的是(D)。

 A.List<T>类的用法类似于ArrayList

 B.List<T>要比ArrayList有更大程度的类型安全性

 C.访问List<T>中的元素是无须做类型转换

 D.List<T>中的T只能是值类型           (string也可以)


6.在C#中,如果要实现父类的成员在父类及其子类中可以访问,而且他类中无法访问,应使用()修饰

符修饰该成员。

 A.public

 B.private

 C.base

 D.protected     (受保护的)


7.在C#中,以下Teacher类中的构造函数的写法正确的是(AC)(选择两项)。

 A. public Teacher(){}

 B. private void Teacher(){}                一个私有的Teacher方法,返回值为空

 C. private Teacher (int id,string name){}

 D. public int Teacher (int id,string name){}     返回值为int类型的带参方法


8.在.NET中,下面关于.NET Framework描述错误的是(D)

 A. .NET框架可以安装在Wiondows操作系统上

 B. .NET框架是运行在操作系统之上的

 C. .NET框架支持C#,VB.NET,C++等开发语言

 D. .NET应用程序不能运行在Linux上


9. 在.NET中创建文件流的时候,需要指定文件模式FileMode的值,下面对FileMode的值解释正确的是(AC)

 (选择两项) 

 A:Create:用指定的名称新建文件。如果文件存在,则覆盖原有的

 B:CreateNew:新建一个文件。如果已存在,则不做处理               (CreateNew 新建一个文件。如果文件存在会发生异常,提示文件已经存在。)

C:Open:打开一个文件。文件必须存在,否则报错

D:OpenOrCreate:打开或新建一个文件。如果文件不存在,则新建但不打开它   (OpenOrCreate:如果文件不存在,则用指定的名称新建一个文件并打开它)


10.在.NET中使用文件的时候,会经常遇到乱码的问题,下面选项中关于乱码说法正确的是(C)

 A:处理乱码使用Encoding,Encoding是一个枚举类型

 B:在写入文件内容的时候指定其编码格式,可以避免出现乱码

 C:在读取文件的时候,指定解析文件的编码格式,可以解决乱码问题

 D:Encoding位于System.Data命名空间

解析:

使用文件出现乱码本质是文件保存的编码和读取时使用的编码方式不一致。写入文件指定编码格式,不能解决问题,在读取文件时,指定和文本保存时一致的编码格式,则不会出现乱码;Encoding位于System.Text命名空间


11.在.NET中,下列关于Directory类和DirectoryInfo类说法正确的是(A)

 A:Directory类的方法都是静态的,可以直接调用

 B:DirectoryInfo类的方法都是静态的,可以直接调用

 C:Directory类和DirectoryInfo类都可以用Exist()方法检验指定目录是否存在

 D:Directory类的GetFile()方法返回的是指定目录下的FileInfo对象数组

解析:

Directory类的方法都是静态的,可以直接调用,DirectoryInfo类的方法不是静态的,所以要通过实例化调用。Directory包含Exist()方法,DirectoryInfo包含Exist属性,Directory类的GetFiles()方法返回指定目录下的文件名字字符串数组


12.在以下C#代码中,横线处填写(BD)不会出错。<选择二项>

  Dictionary<int,string>dic=new Dictionary<int,string>();

  dic.Add(1,"C#OOP");

  Console.WriteLine(_____________);

  A:dic["C#OOP"]

  B:dic[dic.Count]

  C:dic[0]

  D:dic[1]


13.在C#代码中,以下代码输出的结果为(C)

  class Program

  {

  int num=10;

  static void Main(string[]args)

  {

  Console.WriteLine(num++);

  }

  A:11

  B:10

  C:编译报错

  D:运行报错

  解析:

  静态成员只能通过类名调用,在静态方法中一般只能调用静态的成员,

  非静态成员必须通过对象去调用。因此程序编译不通过


14.在C#中,使用集合初始化器初始化集合的用法正确的是(BC)<选择二项>

  A://SE类为已经定义好的类

  List<SE>list=new List<SE>(new SE(),new SE());      (初始化多个元素用{}而不是())

  B://SE类为已经定义好的类

  List<SE>list=new List<SE>{new SE(),new SE()};

  C:ArrayList list=new ArrayList{1,2};

  D:ArrayList list=new ArrayList(){1;2};                      (多个元素用逗号而不是分号分割)


15.在C#中,以下代码执行的结果是(B)。

  public struct Test

  {

   public int num;

  }

  public class Test1

  {

  public static void Change(Test t1,ref Test t2)

  {

  t1.num++;

  t2.num++;

  }

  public static void Main()

  {

  Test t1;

  t1.num=1;

  Test t2;

  t2.num=2;

  Change(t1,ref t2);

  Console.Write(t1.num+","+t2.num);

  }

  }

  A:1,1

  B:1,3

  C:2,2

  D:2,1

  解析:

  ref修饰的值类型按照引用类型传递,结构属于值类型;

  题目中t1没有用ref修饰,值不改变,t2使用了ref修饰,值会改变


16.在C#中,定义Apple类为Fruits类的子类,下列语句不能用于将Fruits类型转换为Apple类型的是(AD)<选择二项>

  A:Fruits fru=new Apple();

  Apple app=fru is Apple;           (is用于判定)

  B: Fruits fru=new Apple();

  Apple app=fru as Apple;

  C: Fruits fru=new Apple();

   Apple app=(Apple)fru;

  D: Fruits fru=new Apple();

  fru.Convert(Apple);                  (Convert不能用在这里)


17.下面的C#代码运行的时候会出现错误的是(BC)<选择二项>

  A:ArrayList a1=new ArrayList();

  a1.Add(100);

  a1.Add(100);

  B: Hashtable ht=new Hashtable();

  ht.Add("张三",new object());         (Hashtable 键  出现重复)

  ht.Add("张三",new object());

  C: List<string>list=new List<string>();

   string name=list[0];                      (无下标0)

  D: Dictionary<string,object>dict=new Dictionary<string,object>();

  foreach(onject p in dict.Values){}


18.在C#中,选项中的方法跟下面的方法属于重载的是(D)。

  public void Add(int a,int b)

 A.public int Add(int a,int b)

 B.public void AddNum(double a,double b)

 C.public void Add(int b,int a)

 D.public void Add(int a,double b)

解析:

方法重载是指方法名相同,而参数类型和参数个数不同,在同一个类中,构造函数和普通方法都可以重载


19:在C#中,下面代码的运行结果是(A)

  public class Fruit

  {

  public virtual void Show()

  {

  Console.WriteLine("水果的味道不同");

  }

  }

  public class Lemon:Fruit

  {

  public override void Show()

  {

  Console.WriteLine("柠檬是酸的!");

  }

  }

  class Program

  {

  static void Main(string[]args)

  {

  Fruit lemon =new Fruit();  <new的是父类对象,因此输出的是父类的方法>

  lemon.Show();

  }

  }

  A:输出“水果的味道不同”

  B:输出“柠檬是酸的!”

  C:程序不出错,但什么也不输出

  D:程序出错,提示对象类型不一致


20.运行以下C#代码,则输出结果是(D)

  public class Child

  {

  public virtual void Like()

  {

  Console.WriteLine("孩子喜欢玩具");

  }

  }

  public class Boy:Child

  {

  public override void Like(string toys)

  {

  Console.WriteLine("男孩喜欢"+toys);

  }

  }

  class Program

  {

  static void Main(string[]args)

  {

  Child child=new Child();

  child.Like("玩具手枪");

  }

  }

  A:孩子喜欢玩具

  B:男孩喜欢玩具手枪

  C:孩子喜欢玩具

  男孩喜欢玩具手枪

  D:程序编译错误,什么也不输出

  解析:

  Boy.Like(string)没有找到适合的方法来重写

《深入.NET平台和C# 编程》内测纠错记录的更多相关文章

  1. S2---深入.NET平台和C#编程的完美总结

    1.NET简单解说 l 面向对象提升 OOP(Object Oriented  Programming)面向对象编程 AOP:(Aspache  Oriented Programming):面向切面编 ...

  2. 深入.net平台和c#编程 学习笔记

    深入.net平台和c#编程 一:理解.nteFramwork与c# 1.1,:Microsoft.net框架概述 1.2:.net框架结构 1.3.:c#语言概述 1.4:体验框架类库的强大功能 二: ...

  3. 使用ReactiveCocoa实现iOS平台响应式编程

    使用ReactiveCocoa实现iOS平台响应式编程 ReactiveCocoa和响应式编程 在说ReactiveCocoa之前,先要介绍一下FRP(Functional Reactive Prog ...

  4. [转]使用ReactiveCocoa实现iOS平台响应式编程

    原文:http://www.itiger.me/?p=38 使用ReactiveCocoa实现iOS平台响应式编程 ReactiveCocoa和响应式编程 在说ReactiveCocoa之前,先要介绍 ...

  5. 《深入.NET平台和C#编程》内部测试题-笔试试卷答案

    1)      以下关于序列化和反序列化的描述错误的是( C). a)      序列化是将对象的状态存储到特定存储介质中的过程 b)      二进制格式化器的Serialize()和Deseria ...

  6. 我们可以用JAX-WS轻松实现JAVA平台与其他编程环境(.net等)的互操作

    在 JAX-WS中,一个远程调用可以转换为一个基于XML的协议例如SOAP,在使用JAX-WS过程中,开发者不需要编写任何生成和处理SOAP消息的代码.JAX-WS的运行时实现会将这些API的调用转换 ...

  7. ROS Learning-029 (提高篇-007 A Mobile Base-05) 控制移动平台 --- (Python编程)控制虚拟机器人的移动(精确的制定目标位置)

    ROS 提高篇 之 A Mobile Base-05 - 控制移动平台 - (Python编程)控制虚拟机器人的移动(精确的制定目标位置) 使用 odometry 消息类型 重写 out_and_ba ...

  8. ROS Learning-028 (提高篇-006 A Mobile Base-04) 控制移动平台 --- (Python编程)控制虚拟机器人的移动(不精确的制定目标位置)

    ROS 提高篇 之 A Mobile Base-04 - 控制移动平台 - (Python编程)控制虚拟机器人的移动(不精确的制定目标位置) 我使用的虚拟机软件:VMware Workstation ...

  9. .NET平台和C#编程的总结

    第一章   简单认识.NET框架    (1)首先我们得知道 .NET框架具有两个主要组件:公共语言进行时CLR(Common Language Runtime)和框架类库FCL(Framework ...

随机推荐

  1. Java中的异或(转)

    在java程序里面的异或用法: 相同输出0,不同输出1,例如: System.out.println(1^1); 输出0 System.out.println(1^2):输出3,因为最后2个低位都不一 ...

  2. Linux学习笔记(15)shell基础之Bash基本功能

    1 shell概述 shell是一个命令解释器,为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序.用户可以用shell启动.挂起.停止甚至是编写一些程序. shell是一个功能强大 ...

  3. 用户视角 vs 系统视角 看性能

    如何评价性能的优劣: 用户视角 vs. 系统视角 对于最终用户(End-User)来说,评价系统的性能好坏只有一个字——“快”.最终用户并不需要关心系统当前的状态——即使系统这时正在处理着成千上万的请 ...

  4. ASP.NET MVC5 网站开发实践(一) - 项目框架(转)

    前几天算是开题了,关于怎么做自己想了很多,但毕竟没做过项目既不知道这些想法有无必要,也不知道能不能实现,不过邓爷爷说过“摸着石头过河”吧.这段时间看了一些博主的文章收获很大,特别是@kencery,依 ...

  5. 廖雪峰js教程笔记10 浏览器对象

    JavaScript可以获取浏览器提供的很多对象,并进行操作. window window对象不但充当全局作用域,而且表示浏览器窗口. window对象有innerWidth和innerHeight属 ...

  6. jquery的隐藏与显示

    ###显示与隐藏,通过用hide()和show()函数来实现 语法: $(selector).hide(speed,callback); $(selector).show(speed,callback ...

  7. 我的c++学习(5)switch语句详解

    #include "stdafx.h" #include<iostream> using namespace std; #include<iomanip> ...

  8. Hive 实现HBase 数据批量插入

    HBase 数据的插入可以使用Java API 来写Java 程序逐条倒入,但是不是很方便.利用Hive自带的一个Jar包,可以建立Hive和HBase的映射关系 利用Hive 的insert可以将批 ...

  9. Java类加载

    类的生命周期是: 在一个类编译完成之后,下一步就需要开始使用类,如果要使用一个类,肯定离不开JVM.在程序执行中JVM通过装载,链接,初始化这3个步骤完成. 类的装载是通过类加载器完成的,加载器将.c ...

  10. Linux chkconfig 命令详解

    一.简介 chkconfig 命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 二.安装&启动 us ...