1 (1)
面向对象的语言具有__继承性_性、_封装性_性、_多态性 性。
(2)
能用foreach遍历访问的对象需要实现 _ IEnumerable 接口或声明_ GetEnumerator 方法的类型。1.c#中的三元运算符是__?:__
2.当整数a赋值给一个object对象时,整数a将会被__装箱___?
3.类成员有__3__种可访问形式?
4.public static const int A=1;这段代码有错误么?是什么? const成员都是static所以应该去掉static
5.float f=-123.567F;
int i=(int)f;
i的值现在是_-123____?
6.利用operator声明且仅声明了==,有什么错误么?要同时修改Equale和GetHash() ? 重载了"==" 就必须重载 "!="
7.委托声明的关键字是___ delegate ___?
8.用sealed修饰的类有什么特点?不可被继承
9.在Asp.net中所有的自定义用户控件都必须继承自_ System.Web.UI.UserControl _______?
10.在.Net中所有可序列化的类都被标记为__[serializable]___?
11.在.Net托管代码中我们不用担心内存漏洞,这是因为有了_ gC __?
12.下面的代码中有什么错误吗?_ abstract override 是不可以一起修饰______
using System;
class A
{
public virtual void F(){
Console.WriteLine("A.F");
}
}
abstract class B:A
{
public abstract override void F();
}
13.
当类T只声明了私有实例构造函数时,则在T的程序文本外部,_不可以_(可以 or 不可以)从T
派生出新的类,_不可以_(可以 or 不可以)直接创建T的任何实例。
14.下面这段代码有错误么?case():不行 default;
switch (i){
case():
CaseZero();
break;
case 1:
CaseOne();
break;
case 2:
dufault;
CaseTwo();
break;
}
15.在.Net中,类System.Web.UI.Page 可以被继承么?可以
2.
不定项选择:
(1)
以下叙述正确的是: B C
A.
接口中可以有虚方法。B. 一个类可以实现多个接口。C. 接口不能被实例化。 D. 接口中可以包含已实现的方法。
(2)
从数据库读取记录,你可能用到的方法有:B C D
A. ExecuteNonQuery B. ExecuteScalar C. Fill D. ExecuteReader
2.
对于一个实现了IDisposable接口的类,以下哪些项可以执行与释放或重置非托管资源相关的应用程序定义的任务?(多选) ( ABC )
A.Close B.Dispose C.Finalize
D.using E.Quit
3.以下关于ref和out的描述哪些项是正确的?(多选) ( ACD )
A.使用ref参数,传递到ref参数的参数必须最先初始化。
B.使用out参数,传递到out参数的参数必须最先初始化。
C.使用ref参数,必须将参数作为ref参数显式传递到方法。
D.使用out参数,必须将参数作为out参数显式传递到方法。
1.
在对SQL Server 数据库操作时应选用(A)。
a)SQL Server .NET Framework
数据提供程序;
b)OLE DB .NET Framework
数据提供程序;
c)ODBC .NET Framework
数据提供程序;
d)Oracle .NET Framework
数据提供程序;
2.
下列选项中,(C)是引用类型。
a)enum
类型 b)struct类型c)string类型 d)int类型
3.
关于ASP.NET中的代码隐藏文件的描述正确的是(C)
a)Web
窗体页的程序的逻辑由代码组成,这些代码的创建用于与窗体交互。编程逻辑唯一与用户界面不同的文件中。该文件称作为“代码隐藏”文件,如果用C#创建,该文件将具有“.ascx.cs”扩展名。
b)
项目中所有Web窗体页的代码隐藏文件都被编译成.EXE文件。
c)
项目中所有的Web窗体页的代码隐藏文件都被编译成项目动态链接库(.dll)文件。
d)
以上都不正确。
4.
以下描述错误的是(A)
a)
在C++中支持抽象类而在C#中不支持抽象类。
b)C++
中可在头文件中声明类的成员而在CPP文件中定义类的成员,在C#中没有头文件并且在同一处声明和定义类的成员。
c)
在C#中可使用 new 修饰符显式隐藏从基类继承的成员。
d)
在C#中要在派生类中重新定义基类的虚函数必须在前面加Override。
5.C#
的数据类型有(B)[原文为D,有误]
a)
值类型和调用类型; b)值类型和引用类型;c)引用类型和关系类型;d)关系类型和调用类型;
6.
下列描述错误的是(D)
a)
类不可以多重继承而接口可以;
b)
抽象类自身可以定义成员而接口不可以;
c)
抽象类和接口都不能被实例化;
d)
一个类可以有多个基类和多个基接口;
7.
在DOM中,装载一个XML文档的方法(B)[原文为D,有误]
a)save
方法 b)load方法c)loadXML方法d)send方法
8.
下列关于构造函数的描述正确的是(C)
a)
构造函数可以声明返回类型。
b)
构造函数不可以用private修饰
c)
构造函数必须与类名相同
d)
构造函数不能带参数
9.
以下是一些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 }
10.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)
越界
11.
接口是一种引用类型,在接口中可以声明(A),但不可以声明公有的域或私有的成员变量。
a)
方法、属性、索引器和事件;b)方法、属性信息、属性;c)索引器和字段; d)事件和字段;
12.ASP.NET
框架中,服务器控件是为配合Web表单工作而专门设计的。服务器控件有两种类型,它们是(A )
a)HTML
控件和Web控件b)HTML控件和XML控件c)XML控件和Web控件 d)HTML控件和IIS控件
13.ASP.NET
中,在Web窗体页上注册一个用户控件,指定该控件的名称为”Mike”,正确的注册指令为( D)
a)<%@Register TagPrefix = “Mike” TagName = “Space2” Src = “myX.ascx”%>
b)<%@Register TagPrefix = “Space2” TagName = “Mike” Src = “myX.ascx”%>
c)<%@Register TagPrefix = “SpaceX” TagName = “Space2” Src = “Mike”%>
d)
以上皆非
14.
在ADO.NET中,对于Command对象的ExecuteNonQuery()方法和ExecuteReader()方法,下面叙述错误的是(C)。
a)insert
、update、delete等操作的Sql语句主要用ExecuteNonQuery()方法来执行;
b)ExecuteNonQuery()
方法返回执行Sql语句所影响的行数。
c)Select
操作的Sql语句只能由ExecuteReader()方法来执行;
d)ExecuteReader()
方法返回一个DataReder对象;
15.
下列ASP.NET语句(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”);
16.Winform
中,关于ToolBar控件的属性和事件的描述不正确的是(D)。
a)Buttons
属性表示ToolBar控件的所有工具栏按钮
b)ButtonSize
属性表示ToolBar控件上的工具栏按钮的大小,如高度和宽度
c)DropDownArrows
属性表明工具栏按钮(该按钮有一列值需要以下拉方式显示)旁边是否显示下箭头键
d)ButtonClick
事件在用户单击工具栏任何地方时都会触发
17.
在ADO.NET中执行一个存储过程时,如果要设置输出参数则必须同时设置参数的方向和(B ),必要时还要设置参数尺寸。
a)
大小; b)上限; c)初始值; d)类型;
18.
如果将窗体的FormBoderStyle设置为None,则( B)。
a)
窗体没有边框并不能调整大小; b)窗体没有边框但能调整大小;
c)
窗体有边框但不能调整大小; d)窗体是透明的;
19.
如果要将窗体设置为透明的,则( B)
a)
要将FormBoderStyle属性设置为None; b)要将Opacity属性设置为小于100%得值;
c)
要将locked 属性设置为True; d)要将 Enabled属性设置为True;
20.
下列关于C#中索引器理解正确的是(B/C )
a)
索引器的参数必须是两个或两个以上 b)索引器的参数类型必须是整数型
c)
索引器没有名字 d)以上皆非
21.
下面描述错误的是( C/D)。
a)
窗体也是控件; b)窗体也是类; c)控件是从窗体继承来的; d)窗体的父类是控件类;
22.
要对注册表进行操作则必须包含( D)。
a)System.ComponentModel
命名空间; b)System.Collections命名空间;
c)System.Threading
命名空间; d)Microsoft.Win32命名空间;
23.
要创建多文档应用程序,需要将窗体的(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
只是为了生成结构化文档;
1.
装箱、拆箱操作发生在: ( C)
A.
类与对象之间 B.对象与对象之间
C.
引用类型与值类型之间 D.引用类型与引用类型之间
2.
用户类若想支持Foreach语句需要实现的接口是: (A )
A.IEnumerableB.IEnumerator
C.ICollectionD.ICollectData
3..Net Framework
通过什么与COM组件进行交互操作?(C )
A.Side By SideB.Web Service
C.InteropD.PInvoke
4..Net
依靠以下哪一项技术解决COM存在的Dll Hell问题的?(A )
A.Side By SideB.Interop
C.PInvokeD.COM+
5.
装箱与拆箱操作是否是互逆的操作?(B )
A.
是B.否
6.
以下哪个是可以变长的数组?(D )
A.Array B.string[]
C.string[N] D.ArrayList
7.
用户自定义异常类需要从以下哪个类继承:(A )
A.Exception B.CustomException
C.ApplicationException D.BaseException
8.
以下代码段中能否编译通过?请给出理由。
try
{
}
catch(FileNotFoundException e1)
{
}
catch(Exception e2)
{
}
catch(IOException e3)
{
}
catch
{
}
9.
对于一个实现了IDisposable接口的类,以下哪些项可以执行与释放或重置非托管资源相关的应用程序定义的任务?(多选) (ABC )
A.Close B.DisposeC.Finalize
D.using E.Quit
10.Net
依赖以下哪项技术实现跨语言互用性?(C )
A.CLR B.CTS C.CLS D.CTT
11.
请问: String类与StringBuilder类有什么区别?为什么在.Net类库中要同时存在这2个类?(简答)
如 果要操作一个不断增长的字符串,尽量不用String类,改用StringBuilder类。两个类的工作原理不同:String类是一种传统的修改字符 串的方式,它确实可以完成把一个字符串添加到另一个字符串上的工作没错,但是在.NET框架下,这个操作实在是划不来。因为系统先是把两个字符串写入内 存,接着删除原来的String对象,然后创建一个String对象,并读取内存中的数据赋给该对象。这一来二去的,耗了不少时间。而使用 System.Text命名空间下面的StringBuilder类就不是这样了,它提供的Append方法,能够在已有对象的原地进行字符串的修改,简 单而且直接。当然,一般情况下觉察不到这二者效率的差异,但如果你要对某个字符串进行大量的添加操作,那么StringBuilder类所耗费的时间和 String类简直不是一个数量级的。
12.
以下哪个类是int的基类?( )
A.Int32 B.Object C.ValueType D.Int16
二、C# 部分*
13.
以下哪些可以作为接口成员?(多选) (ABDE )
A.
方法B.属性C.字段D.事件E.索引器
F.
构造函数G.析构函数
14.
以下关于ref和out的描述哪些项是正确的?(多选) (ACD )
A.
使用ref参数,传递到ref参数的参数必须最先初始化。
B.
使用out参数,传递到out参数的参数必须最先初始化。
C.
使用ref参数,必须将参数作为ref参数显式传递到方法。
D.
使用out参数,必须将参数作为out参数显式传递到方法。
15.“
访问范围限定于此程序或那些由它所属的类派生的类型”是对以下哪个成员可访问性含义的正确描述?(B )
A.public B.protected C.internal D.protected internal
16.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
17.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.
都不是
18.
请叙述属性与索引器的区别。
属性索引器
通过名称标识。通过签名标识。
通过简单名称或成员访问来访问。通过元素访问来访问。
可以为静态成员或实例成员。必须为实例成员。
属性的 get 访问器没有参数。索引器的 get 访问器具有与索引器相同的形参表。
属性的 set 访问器包含隐式 value 参数。除了 value 参数外,索引器的 set 访问器还具有与索引器相同的形参表。
19.
请叙述const与readonly的区别。
每一个class至多只可以定义一个static构造函数,并且不允许增加访问级别关键字,参数列必须为空。
为了不违背编码规则,通常把static数据成员声明为private,然后通过statci property提供读写访问。
const 关键字用于修改字段或局部变量的声明。它指定字段或局部变量的值不能被修改。常数声明引入给定类型的一个或多个常数。
const数据成员的声明式必须包含初值,且初值必须是一个常量表达式。因为它是在编译时就需要完全评估。
const成员可以使用另一个const成员来初始化,前提是两者之间没有循环依赖。
readonly在运行期评估赋值,使我们得以在确保“只读访问”的前提下,把object的初始化动作推迟到运行期进行。
readonly 关键字与 const 关键字不同: const 字段只能在该字段的声明中初始化。readonly 字段可以在声明或构造函数中初始化。因此,根据所使用的构造函数,readonly 字段可能具有不同的值。另外,const 字段是编译时常数,而 readonly 字段可用于运行时常数。
readonly 只能在声明时或者构造函数里面初始化,并且不能在 static 修饰的构造函数里面。
21.
您需要创建一个ASP.NET应用程序,公司考虑使用Windows身份认证。
所有的用户都存在于AllWin这个域中。您想要使用下列认证规则来配置这个应用程序:
a、 匿名用户不允许访问这个应用程序。
b、 所有雇员除了Tess和King都允许访问这个应用程序。
请问您应该使用以下哪一个代码段来配置这个应用程序?( A )
A.
B.
C.
D.
E.
22.
您要创建一个显示公司员工列表的应用程序。您使用一个DataGrid控件显示员工的列表。您打算修改这个控件以便在这个Grid的Footer显示员工合计数。请问您应该怎么做?( C? )
A.重写OnPreRender事件,当Grid的Footer行被创建时显示合计数。
B.重写OnItemCreated事件,当Grid的Footer行被创建时显示合计数。
C.重写OnItemDataBound事件,当Grid的Footer行被创建时显示合计数。
D. 重写OnLayout事件,当Grid的Footer行被创建时显示合计数。
23.
您 要创建ASP.NET应用程序用于运行AllWin公司内部的Web站点,这个应用程序包含了50个页面。您想要配置这个应用程序以便当发生一个HTTP 代码错误时它可以显示一个自定义的错误页面给用户。您想要花最小的代价完成这些目标,您应该怎么做?(多选)( CD )
A.在这个应用程序的Global.asax文件中创建一个Application_Error过程去处理ASP.NET代码错误。
B.在这个应用程序的Web.config文件中创建一个applicationError节去处理ASP.NET代码错误。
C.在这个应用程序的Global.asax文件中创建一个CustomErrors事件去处理HTTP错误。
D.在这个应用程序的Web.config文件中创建一个CustomErrors节去处理HTTP错误。
E.在这个应用程序的每一页中添加一个Page指示符去处理ASP.NET 代码错误。
F. 在这个应用程序的每一页中添加一个Page指示符去处理ASP.NET HTTP错误。
24.
您 的公司有一个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”
25.
您 为AllWin公司创建了一个ASP.NET应用程序。这个应用程序调用一个 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 文件。
26.
您 要创建一个ASP.NET应用程序在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控件。
76.C#
代码实现,确保windows程序只有一个实例(instance)
///
///
应用程序的主入口点。
///
[STAThread]
static
void
Main()
{
//
防止程序多次运行
if
(!OneInstance.IsFirst("GetPayInfo"))
{
MessageBox.Show ("
警告:程序正在运行中! 请不要重复打开程序!可在右下角系统栏找到!","程序错误提示:",MessageBoxButtons.OK,MessageBoxIcon.Stop);
return
;
}
Application.Run(
new
Form1());
}
// *******************
防止程序多次执行**************************
public
abstract
class
OneInstance
{
///
///
判断程序是否正在运行
///
///
如果程序是第一次运行返回True,否则返回False
public
static
bool
IsFirst(
string
appId)
{
bool
ret=
false
;
if
(OpenMutex(0x1F0001,0,appId)==IntPtr.Zero)
{
CreateMutex(IntPtr.Zero,0,appId);
ret=
true
;
}
return
ret;
}
[DllImport("Kernel32.dll",CharSet=CharSet.Auto)]
private
static
extern
IntPtr OpenMutex(
uint
dwDesiredAccess,
// access
int
bInheritHandle,
// inheritance option
string
lpName
// object name
);
[DllImport("Kernel32.dll",CharSet=CharSet.Auto)]
private
static
extern
IntPtr CreateMutex(
IntPtr lpMutexAttributes,
// SD
int
bInitialOwner,
// initial owner
string
lpName
// object name
);
}
3.
简述
private
、
protected
、
public
、
internal
修饰符的访问权限。
private :
私有成员
,
在类的内部才可以访问。
protected :
保护成员,该类内部和继承类中可以访问。
public :
公共成员,完全公开,没有访问限制。
internal:
在同一命名空间内可以访问。
4.
写出一条Sql语句: 取出表A中第31到第40记录(SQLServer, 以自动增长的ID作为主键, 注意:ID可能不是连续的。)
select top 10 * from A where id not in (select top 30 id from A)
解2: select top 10 * from A where id > (select max(id) from (select top 30 id from A )as A)
5 .列举ASP.NET 页面之间传递值的几种方式。
1.
使用QueryString, 如....?id=1; response. Redirect()....
2.使用Session变量
3.使用Server.Transfer
2
。请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。
session(viewstate)
简单,但易丢失
application 全局
cookie 简单,但可能不支持,可能被伪造
input ttype="hidden" 简单,可能被伪造
url参数简单,显示于地址栏,长度有限
数据库稳定,安全,但性能相对弱
2.
override
与重载的区别
Override
用来重写父类的方法,重载使用相同名的方法或操作符拥有不同类型的参数
3
、.net的错误处理机制是什么
.net
错误处理机制采用try->catch->finally结构,发生错误时,层层上抛,直到找到匹配的Catch为止。
4
、C#中接口和类的异同
接口和类都是类,不同的事,接口只包含方法或属性的声明,不包含具体实现方法的代码,接口可以实现多继承,而类只能是单继承,继承接口的类必须实现接口中声明的方法或属性。接口主要定义一种规范,统一调用方法,在大型项目中接口正发挥日益重要的作用。
4
、DataReader和DataSet的异同
DataReader
和DataSet 最大的区别在于,DataReader使用时始终占用SqlConnection,在线操作数据库..任何对SqlConnection的操作都会引发 DataReader的异常..因为DataReader每次只在内存中加载一条数据,所以占用的内存是很小的..因为DataReader的特殊性和高 性能.所以DataReader是只进的..你读了第一条后就不能再去读取第一条了..
DataSet则是将数据一次性加载在内存中.抛弃数据库连接..读取完毕即放弃数据库连接..因为DataSet将数据全部加载在内存中.所以比较消耗内存...但是确比DataReader要灵活..可以动态的添加行,列,数据.对数据库进行回传更新操作...
1.
在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?
Using
引入一个名子空间,或在使用了一个对像后自动调用其IDespose,New 实例化一个对像,或修饰一个方法,表此方法完全重写此方法
2.在下面的例子里
using System;
class A
{
public A(){
PrintFields();
}
public virtual void PrintFields(){}
}
class B:A
{
int x=1;
int y;
public B(){
y=-1;
}
public override void PrintFields(){
Console.WriteLine("x={0},y={1}",x,y);
}
当使用new B()创建B的实例时,产生什么输出?X=1,Y=0
3.下面的例子中
using System;
class A
{
public static int X;
static A(){
X=B.Y+1;
}
}
class B
{
public static int Y=A.X+1;
static B(){}
static void Main(){
Console.WriteLine("X={0},Y={1}",A.X,B.Y);
}
}
产生的输出结果是什么?x=1,y=2
4.谈谈类和结构的区别?
最大区别一个是引用类型,一个是值类型 默认成员访问为public是另外一个区别
1.
在.net(C# or vb.net)中如何获得当前窗体或控件的句柄,特别是控件本身的句柄(请列举)。
this(C#) Me(vb.net).
2
在.net(C# or vb.net)中如何用户自定义消息,并在窗体中处理这些消息。
在form中重载DefWndProc函数来处理消息:
protected override void DefWndProc ( ref System.WinForms.Message m )
{
switch(m.msg)
{
case WM_Lbutton :
///string与MFC中的CString的Format函数的使用方法有所不同
string message = string.Format("收到消息!参数为:{0},{1}",m.wParam,m.lParam);
MessageBox.Show(message);///显示一个消息框
break;
case USER:
处理的代码
default:
base.DefWndProc(ref m);///调用基类函数处理非自定义消息。
break;
}
}
3.
在.net(C# or vb.net)如何启动另一个程序
。process
4.
在.net(C# or vb.net)中如何取消一个窗体的关闭
private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
e.Cancel=true;
}
5.
在.net(C# or vb.net)中,Appplication.Exit 还是 Form.Close有什么不同?
答案:一个是退出整个应用程序,一个是关闭其中一个form
6.
在C# 中有一个double型的变量,比如10321.5,比如122235401.21644,作为货币的值如何按各个不同国家的习惯来输出。比如美国用 $10,321.50和$122,235,401.22而在英国则为£10 321.50和£122 235 401.22
答案:
System.Globalization.CultureInfo MyCulture = new System.Globalization.CultureInfo("en-US");
//System.Globalization.CultureInfo MyCulture = new System.Globalization.CultureInfo("en-GB");为英国货币类型
decimal y = 9999999999999999999999999999m;
string str = String.Format(MyCulture,"My amount = {0:c}",y);
7.
某一密码仅使用K、L、M、N、O共5个字母,密码中的单词从左向右排列,密码单词必须遵循如下规则:
(1) 密码单词的最小长度是两个字母,可以相同,也可以不同
(2) K不可能是单词的第一个字母
(3) 如果L出现,则出现次数不止一次
(4) M不能使最后一个也不能是倒数第二个字母
(5) K出现,则N就一定出现
(6) O如果是最后一个字母,则L一定出现
问题一:下列哪一个字母可以放在LO中的O后面,形成一个3个字母的密码单词?
A) K B)L C) M D) N
答案:B
问题二:如果能得到的字母是K、L、M,那么能够形成的两个字母长的密码单词的总数是多少?
A)1个 B)3个 C)6个 D)9个
答案:A
问题三:下列哪一个是单词密码?
A) KLLN B) LOML C) MLLO D)NMKO
答案:C
8. 62-63=1
等式不成立,请移动一个数字(不可以移动减号和等于号),使得等式成立,如何移动?
答案:62移动成2的6次方
new
有几种用法
第一种:new Class();
第二种:覆盖方法
public new XXXX(){}
第三种:new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。
2.如何把一个array复制到arrayList里
foreach( object o in array )arrayList.Add(o);
3.datagrid.datasouse可以连接什么数据源 [dataset,datatable,dataview]
dataset,datatable,dataview , IList
4.概述反射和序列化
反射:程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性
序列化:序列化是将对象转换为容易传输的格式的过程。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象。在另一端,反序列化将从该流重新构造对象。
5.概述o/r mapping 的原理
利用反射,配置 将类于数据库表映射
7.用sealed修饰的类有什么特点
sealed 修饰符用于防止从所修饰的类