.net(c#)笔试和面试选择题大集合
注:试题来自互联网,答案仅供参考!
1.
(1) 以下叙述正确的是:(BC)
A. 接口中可以有虚方法
B. 一个类可以实现多个接口
C. 接口不能被实例化
D. 接口中可以包含已实现的方法
(2) 从数据库读取记录,你可能用到的方法有:(BCD)
A. ExecuteNonQuery
B. ExecuteScalar
C. Fill
D. ExecuteReader
2.对于一个实现了IDisposable接口的类,以下哪些项可以执行与释放或重置非托管资源相关的应用程序定义的任务?(多选) (ABC)
A.Close B.Dispose C.Finalize https://www.sodocs.net/doc/0314007823.html,ing E.Quit
3.以下关于ref和out的描述哪些项是正确的?(多选) (ACD)
A. 使用ref参数,传递到ref参数的参数必须最先初始化
B. 使用out参数,传递到out参数的参数必须最先初始化
C. 使用ref参数,必须将参数作为ref参数显式传递到方法
D. 使用out参数,必须将参数作为out参数显式传递到方法
4.在对SQL Server 数据库操作时应选用 (A)
A. SQL Server .NET Framework 数据提供程序
B. OLE DB .NET Framework 数据提供程序
C. ODBC .NET Framework 数据提供程序
D. Oracle .NET Framework数据提供程序
5.下列选项中,(C) 是引用类型
A. enum类型
B. struct类型
C. string类型
D. int类型
6.关于https://www.sodocs.net/doc/0314007823.html,中的代码隐藏文件的描述正确的是 (C)
A. Web窗体页的程序的逻辑由代码组成,这些代码的创建用于与窗体交互。编程逻辑唯一与用户界面不同的文件中。该文件称作为"代码隐藏"文件,如果用C#创建,该文件将具有".ascx.cs"扩展名
B. 项目中所有Web窗体页的代码隐藏文件都被编译成.EXE文件
C. 项目中所有的Web窗体页的代码隐藏文件都被编译成项目动态链接库 (.dll)文件
D. 以上都不正确
7.以下描述错误的是 (A)
A. 在C++中支持抽象类而在C#中不支持抽象类
B. C++中可在头文件中声明类的成员而在CPP文件中定义类的成员,在C#中没有头文件并且在同一处声明和定义类的成员
C. 在C#中可使用 new 修饰符显式隐藏从基类继承的成员
D. 在C#中要在派生类中重新定义基类的虚函数必须在前面加Override
8.C#的数据类型有 (A)
A. 值类型和调用类型; B. 值类型和引用类型;C. 引用类型和关系类型;D. 关系类型和调用类型;
9.下列描述错误的是 (D)
A. 类不可以多重继承而接口可以
B. 抽象类自身可以定义成员而接口不可以
C. 抽象类和接口都不能被实例化
D. 一个类可以有多个基类和多个基接口
10.在DOM中,装载一个XML文档的方法 (D)
A. save方法 B. load方法 C. loadXML方法 D. send方法
11.下列关于构造函数的描述正确的是 (C)
A. 构造函数可以声明返回类型。
B. 构造函数不可以用private修饰
C. 构造函数必须与类名相同
D. 构造函数不能带参数
12.以下是一些C#中的
枚举型的定义,其中错误的用法有 ()
A. public enum var1{ Mike = 100, Nike = 102, Jike }
B. public enum var1{ Mike = 100, Nike, Jike }
C. public enum var1{ Mike=-1 , Nike, Jike }
D. public enum var1{ Mike , Nike , Jike }
13.int[][] myArray3=new int[3][]{new int[3]{5,6,2},new int[5]{6,9,7,8,3},new int[2]{3,2}};
myArray3[2][2]的值是 (D)
A. 9 B. 2 C. 6 D. 越界
14.接口是一种引用类型,在接口中可以声明(A),但不可以声明公有的域或私有的成员变量。
A. 方法、属性、索引器和事件
B. 方法、属性信息、属性
C. 索引器和字段
D. 事件和字段
https://www.sodocs.net/doc/0314007823.html,框架中,服务器控件是为配合Web表单工作而专门设计的。服务器控件有两种类型,它们是(A)
A. HTML控件和Web控件
B. HTML控件和XML控件
C. XML控件和Web控件
D. HTML控件和IIS控件
https://www.sodocs.net/doc/0314007823.html,中,在Web窗体页上注册一个用户控件,指定该控件的名称为"Mike",正确的注册指令为(D)
A.
B.
C.
D. 以上皆非
17.在https://www.sodocs.net/doc/0314007823.html,中,对于Command对象的ExecuteNonQuery()方法和ExecuteReader()方法,下面叙述错误的是 (C)。
A. insert、update、delete等操作的Sql语句主要用ExecuteNonQuery()方法来执行
B. ExecuteNonQuery()方法返回执行Sql语句所影响的行数
C. Select操作的Sql语句只能由ExecuteReader()方法来执行
D. ExecuteReader()方法返回一个DataReder对象
18.下列https://www.sodocs.net/doc/0314007823.html,语句 (b)正确地创建了一个与SQL Server 2000数据库的连接。
A. SqlConnection con1 = new Connection("Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB")
B. SqlConnection con1 = new SqlConnection("Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB")
C. SqlConnection con1 = new SqlConnection(Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB)
D. SqlConnection con1 = new OleDbConnection("Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB")
19.Winform中,关于ToolBar控件的属性和事件的描述不正确的是(D)
A. Buttons属性表示ToolBar控件的所有工具栏按钮
B. ButtonSize属性表示ToolBar控件上的工具栏按钮的大小,如高度和宽度
C. DropDownArrows属性表明工具栏按钮 (该按钮有一列值需要以下拉方式显示)旁边是否显示下箭头键
D. ButtonClick事件在用户单击工具栏任何地方时都会触发
20.在https://www.sodocs.net/doc/0314007823.html,中执行一个存储过程时,如果要设置输出参数则必须同时设置参数的方向和 (B),必要时还要设置参数尺寸
A. 大小; B. 上限; C. 初始值; D. 类型;
21.如果将窗体的FormBoderStyle设置为None,则(B)
A. 窗体没有边框并不能调整大小; B. 窗体没有边框但能调整大小;
C. 窗体有边框但不能调整大小; D. 窗体是透明的;
22.如果要将窗体设置为透明的,则(B)
A. 要将FormBoderStyle属性设置为None; B. 要将Opacity属性设置为小
于100%得值;
C. 要将locked 属性设置为True; D. 要将 Enabled属性设置为True;
23.下列关于C#中索引器理解正确的是(B/C)
A. 索引器的参数必须是两个或两个以上 B. 索引器的参数类型必须是整数型
C. 索引器没有名字 D. 以上皆非
24.下面描述错误的是(C/D)
A. 窗体也是控件; B. 窗体也是类; C. 控件是从窗体继承来的; D. 窗体的父类是控件类;
25.要对注册表进行操作则必须包含(D)
A. https://www.sodocs.net/doc/0314007823.html,ponentModel命名空间; B. System.Collections命名空间;
C. System.Threading命名空间; D. Microsoft.Win32命名空间;
26.要创建多文档应用程序,需要将窗体的(D)属性设为true
A. DrawGrid; B. ShowInTaskbar; C. Enabled; D. IsMdiContainer;
24.如果设treeView1=new TreeView(),则treeView1.Nodes.Add("根节点")返回的是一个()类型的值
A. TreeNode;
B. int;
C. string;
D. TreeView;
25.下面关于XML的描述错误的是 (D)
A. XML提供一种描述结构化数据的方法;
B. XML 是一种简单、与平台无关并被广泛采用的标准;
C. XML文档可承载各种信息;
D. XML只是为了生成结构化文档
26.装箱、拆箱操作发生在: (C)
A.类与对象之间 B.对象与对象之间
C.引用类型与值类型之间 D.引用类型与引用类型之间
27.用户类若想支持Foreach语句需要实现的接口是: (A)
A.IEnumerable B.IEnumerator
C.ICollection D.ICollectData
https://www.sodocs.net/doc/0314007823.html, Framework通过什么与COM组件进行交互操作?(C)
A.Side By Side
B.Web Service
C.Interop
D.PInvoke
https://www.sodocs.net/doc/0314007823.html,依靠以下哪一项技术解决COM存在的Dll Hell问题的?(A)
A.Side By Side
B.Interop
C.PInvoke
https://www.sodocs.net/doc/0314007823.html,+
30.装箱与拆箱操作是否是互逆的操作?(B)
A.是 B.否
31.以下哪个是可以变长的数组?(D)
A.Array B.string[]
C.string[N] D.ArrayList
32.用户自定义异常类需要从以下哪个类继承:(A)
A.Exception B.CustomException
C.ApplicationException D.BaseException
34.以下代码段中能否编译通过?请给出理由。
try { }
catch (FileNotFoundException e1) { }
catch (Exception e2) { }
catch (IOException e3) { }
catch { }
https://www.sodocs.net/doc/0314007823.html,依赖以下哪项技术实现跨语言互用性?(C)
A.CLR B.CTS C.CLS D.CTT
36.请问: String类与StringBuilder类有什么区别?为什么在.Net类库中要同时存在这2个类?(简答)
答:如果要操作一个不断增长的字符串,尽量不用String类,改用StringBuilder类。两个类的工作原理不同:String类是一种传统的修改字符串的方式,它确实可以完成把一个字符串添加到另一个字符串上的工作没错,但是在.NET框架下,这个操作实在是划不来。因为系统先是把两个字符串写入内存,接着删除原来的String对象,然后创建一个String对象,并读取内存中的数据赋给该对象。这一来二去的,耗了不少时间。而使用System.Text命名空间下面的StringBuilder
类就不是这样了,它提供的Append方法,能够在已有对象的原地进行字符串的修改,简单而且直接。当然,一般情况下觉察不到这二者效率的差异,但如果你要对某个字符串进行大量的添加操作,那么StringBuilder类所耗费的时间和String类简直不是一个数量级的
37.以下哪个类是int的基类?( )
A.Int32 B.Object C.ValueType D.Int16
38.以下哪些可以作为接口成员?(多选) (ABDE)
A.方法 B.属性 C.字段 D.事件 E.索引器 F.构造函数 G.析构函数
39."访问范围限定于此程序或那些由它所属的类派生的类型"是对以下哪个成员可访问性含义的正确描述?(B)
A.public B.protected C.internal D.protected internal
40.
class Class1
{
private static int count = 0;
static Class1()
{
count++;
}
public Class1()
{
count++;
}
}
Class1 o1 = new Class1();
Class1 o2 = new Class1();
请问,o1.Count的值是多少?(C)
A.1 B.2 C.3 D.4
41.
abstract class BaseClass
{
public virtual void MethodA()
{
}
public virtual void MethodB()
{
}
}
class Class1 : BaseClass
{
public void MethodA(string arg)
{
}
public override void MethodB()
{
}
}
class Class2 : Class1
{
new public void MethodB()
{
}
}
class MainClass
{
public static void Main(string[] args)
{
Class2 o = new Class2();
Console.WriteLine(o.MethodA());
}
}
请问,o.MethodA调用的是: (A)
A.BaseClass.MethodA
B.Class2.MethodA
C.Class1.MethodA
D.都不是
42.您要创建一个显示公司员工列表的应用程序。您使用一个DataGrid控件显示员工的列表。您打算修改这个控件以便在这个Grid的Footer显示员工合计数。请问您应该怎么做?( C? )
A.重写OnPreRender事件,当Grid的Footer行被创建时显示合计数。
B.重写OnItemCreated事件,当Grid的Footer行被创建时显示合计数。
C.重写OnItemDataBound事件,当Grid的Footer行被创建时显示合计数。
D. 重写OnLayout事件,当Grid的Footer行被创建时显示合计数。
43.您要创建https://www.sodocs.net/doc/0314007823.html,应用程序用于运行AllWin公司内部的Web站点,这个应用程序包含了50个页面。您想要配置这个应用程序以便当发生一个HTTP代码错误时它可以显示一个自定义的错误页面给用户。您想要花最小的代价完成这些目标,您应该怎么做?(多选)( CD )
A.在这个应用程序的Global.asax文件中创建一个Application_Error过程去处理https://www.sodocs.net/doc/0314007823.html,代码错误。
B.在这个应用程序的Web.config文件中创建一个applicationError节去处理https://www.sodocs.net/doc/0314007823.html,代码错误。
C.在这个应用程序的Global.asax文件中创建一个CustomErrors事件去处理HTTP错误。
D.在这个应用程序的Web.config文件中创建一个CustomErrors节去处理HTTP错误。
E.在这个应用程序的每一页中添加一个Page指示符去处理https://www.sodocs.net/doc/0314007823.html, 代码错误。
F. 在这个应用程序的每一页中添加
一个Page指示符去处理https://www.sodocs.net/doc/0314007823.html, HTTP错误。
44.您的公司有一个DB Server,名为AllWin,其上装了MS SQLSERVER 2000。现在需要您写一个数据库连接字符串,用以连接AllWin上SQL SERVER中的一个名为PubBase实例的Test库。请问,应该选择下面哪一个字符串?( B )
A. “Server=AllWin;Data Source=PubBase;Initial Catalog=Test;Integrated Security=SSPI”
B. “Server= AllWin;Data Source=PubBase;Database=Test;Integrated Security= SSPI”
C. “Data Source= AllWin \PubBase;Initial Category=PubBase;Integrated Security= SSPI”
D. “Data Source= AllWin \ PubBase;Database=Test;Integrated Security= SSPI”
45.您为AllWin公司创建了一个https://www.sodocs.net/doc/0314007823.html,应用程序。这个应用程序调用一个 Xml Web Service。这个 Xml Web Service 将返回一个包含了公司雇员列表的DataSet对象。请问您该如何在这个程序中使用这个 Xml Web Service?( ? )
A.在“引用”对话框的.Net标签中选择 System.Web.Services.dll。
B.在“Web引用”对话框中输入这个 XML Web service 的地址。
C.在您的 Global.asax.cs 中添加一条 using 语句并指定这个 XML Web service 的地址。
D.在您的 Global.asax.cs 中写一个事件处理器导入这个 Xml Web Service 相应的 .wsdl 和 .disco 文件。
46.您要创建一个https://www.sodocs.net/doc/0314007823.html,应用程序在DataGrid控件中显示一个经过排序的列表。产品数据被存放于一个名为PubBase的Microsoft SQL Server 数据库。每个产品的主键是ProductID,Numeric型并且每个产品有一个字母描述字段,名为ProductName。您使用一个SqlDataAdapter对象和一个SqlCommand对象通过调用一个存储过程从数据库中获取产品数据。您将SqlCommand对象的CommandType属性设置为CommandType.StoredProcedure,并将它的CommandText属性设置为procProductList。您成功的获取了一个DataTable对象,其中是已经按ProductID降序排列的产品列表。您打算显示以相反的字母顺序排列的ProductName,请问该怎么做? ( B )
A. 将SqlCommand对象的CommandType属性修改为CommandType.Text,将CommandText属性修改为”SELECT * FROM procProductList ORDER BY ProductName DESC”。然后将这个DataTable对象绑定到DataGrid控件。
B. 创建一个基于这个DataTable对象的新的DataView并将这个DataView的Sort属性设置为“ProductName DESC”。然后将这个DataView对象绑定到DataGrid控件。
C. 将DataGrid控件的AllowSorting属性设置为True,并将DataGridColumn的SortExpression属性设置为 “ProductName DESC”.以显示ProductName。然后将这个DataTable对象绑定到DataGrid控件。
D. 将DataTable对象的DisplayExpression属性设置为 “ORDER BY ProductName DESC”.。然后将这个DataTable对象绑定到DataGrid控件。
47.对于一个实现了IDisposable接口的类,以下哪些项可以执行与释放或
重置非托管资源相关的应用程序定义的任务?(多选) ( ABC )
A.Close B.DisposeC.Finalize
https://www.sodocs.net/doc/0314007823.html,ing E.Quit
https://www.sodocs.net/doc/0314007823.html,依赖以下哪项技术实现跨语言互用性?( C )
A.CLR B.CTS C.CLS D.CTT
49.请问: String类与StringBuilder类有什么区别?为什么在.Net类库中要同时存在这2个类?(简答)
如果要操作一个不断增长的字符串,尽量不用String类,改用StringBuilder类。两个类的工作原理不同:String类是一种传统的修改字符串的方式,它确实可以完成把一个字符串添加到另一个字符串上的工作没错,但是在.NET框架下,这个操作实在是划不来。因为系统先是把两个字符串写入内存,接着删除原来的String对象,然后创建一个String对象,并读取内存中的数据赋给该对象。这一来二去的,耗了不少时间。而使用System.Text命名空间下面的StringBuilder类就不是这样了,它提供的Append方法,能够在已有对象的原地进行字符串的修改,简单而且直接。当然,一般情况下觉察不到这二者效率的差异,但如果你要对某个字符串进行大量的添加操作,那么StringBuilder类所耗费的时间和String类简直不是一个数量级的。
50.以下哪个类是int的基类?( )
A.Int32 B.Object C.ValueType D.Int16
51.以下哪些可以作为接口成员? (多选) ( ABDE )
A.方法B.属性C.字段D.事件E.索引器
F.构造函数G.析构函数
14.以下关于ref和out的描述哪些项是正确的?(多选) ( ACD )
A.使用ref参数,传递到ref参数的参数必须最先初始化。
B.使用out参数,传递到out参数的参数必须最先初始化。
C.使用ref参数,必须将参数作为ref参数显式传递到方法。
D.使用out参数,必须将参数作为out参数显式传递到方法。
52.“访问范围限定于此程序或那些由它所属的类派生的类型”是对以下哪个成员可访问性含义的正确描述?( B )
A.public B.protected C.internal D.protected internal
53.class Class1
{
private static int count = 0;
static Class1()
{
count++;
}
public Class1()
{
count++;
}
}
Class1 o1 = new Class1();
Class1 o2 = new Class1();
请问,o1.Count的值是多少?( C )
A.1 B.2 C.3 D.4
54.abstract class BaseClass
{
public virtual void MethodA()
{
}
public virtual void MethodB()
{
}
}
class Class1: BaseClass
{
public void MethodA(string arg)
{
}
public override void MethodB()
{
}
}
class Class2: Class1
{
new public void MethodB()
{
}
}
class MainClass
{
public static void Main(string[] args)
{
Class2 o = new Class2();
Console.WriteLine(o.MethodA());
}
}
请问,o.MethodA调用的是: ( A )
A.BaseClass.MethodAB.Class2.MethodA
C.Class1.MethodAD.都不是
转载请注明文章来源:笔试网 https://www.sodocs.net/doc/0314007823.html,—专业的笔试、面试资料搜索网站,
原文网址:https://www.sodocs.net/doc/0314007823.html,/shiti.aspx?id=535471