c#用new声明读写内存的权限的内存空间返回的是一个引用还是c里面的地址,用new声明读写内存的权限一个数组他返回的是什么?

JavaScript Array 对象
JavaScript Array 对象
Array 对象
Array 对象用于在单个的变量中存储多个值。
创建 Array 对象的语法:
new Array();
new Array(size);
new Array(element0, element1, ..., elementn);
参数 size 是期望的数组元素个数。返回的数组,length 字段将被设为 size 的值。
参数 element ..., elementn 是参数列表。当使用这些参数来调用构造函数 Array() 时,新创建的数组的元素就会被初始化为这些值。它的 length 字段也会被设置为参数的个数。
返回新创建并被初始化了的数组。
如果调用构造函数 Array() 时没有使用参数,那么返回的数组为空,length 字段为 0。
当调用构造函数时只传递给它一个数字参数,该构造函数将返回具有指定个数、元素为 undefined 的数组。
当其他参数调用 Array() 时,该构造函数将用参数指定的值初始化数组。
当把构造函数作为函数调用,不使用 new 运算符时,它的行为与使用 new 运算符调用它时的行为完全一样。
Array 对象属性
返回对创建此对象的数组函数的引用。
设置或返回数组中元素的数目。
使您有能力向对象添加属性和方法。
Array 对象方法
连接两个或更多的数组,并返回结果。
把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
删除并返回数组的最后一个元素
向数组的末尾添加一个或更多元素,并返回新的长度。
颠倒数组中元素的顺序。
删除并返回数组的第一个元素
从某个已有的数组返回选定的元素
对数组的元素进行排序
删除元素,并向数组添加新元素。
返回该对象的源代码。
把数组转换为字符串,并返回结果。
把数组转换为本地数组,并返回结果。
向数组的开头添加一个或更多元素,并返回新的长度。
返回数组对象的原始值当前位置: >>
Net 面试题大全(有答案)和 Asp.net 面试集合 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 S 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():不行 switch (i){ case(): CaseZero(); case 1: CaseOne(); case 2: CaseTwo(); } 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 = Integrated Security = SSPI; Initial Catalog = myDB”); b)SqlConnection con1 = new SqlConnection(“Data Source = Integrated Security = SSPI; Initial Catalog = myDB”); c)SqlConnection con1 = new SqlConnection(Data Source = Integrated Security = SSPI; Initial Catalog = myDB); d)SqlConnection con1 = new OleDbConnection(“Data Source = 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. 〈authorization〉 〈deny users=”allwin\tess, allwin\king”〉 〈allow users=”*”〉 〈deny users=”?”〉 〈/authorization〉 B. 〈authorization〉 〈allow users=”*”〉 〈deny users=”allwin\tess, allwin\king”〉 〈deny users=”?”〉 〈/authorization〉 C. 〈authorization〉 〈deny users=”allwin\tess, allwin\king”〉 〈deny users=”?”〉 〈allow users=”*”〉 〈/authorization〉 D. 〈authorization〉 〈allow users=”allwin\tess, allwin\king”〉 〈allow users=”*”〉 〈/authorization〉 E.〈authorization〉 〈allow users=”*”〉 〈deny users=”allwin\tess, allwin\king”〉 〈/authorization〉 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=AllWData Source=PubBInitial Catalog=TIntegrated Security=SSPI” B.“Server= AllWData Source=PubBDatabase=TIntegrated Security= SSPI” C.“Data Source= AllWin \PubBInitial Category=PubBIntegrated Security= SSPI” D.“Data Source= AllWin \ PubBDatabase=TIntegrated 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) ///〈summary〉 ///应用程序的主入口点。 ///〈/summary〉 [STAThread] staticvoid Main() { //防止程序多次运行 if(!OneInstance.IsFirst(“GetPayInfo“)) { MessageBox.Show (“警告:程序正在运行中! 请不 要重复打开程序 ! 可在右下角系统栏找到 !“,“ 程序错误提 示:“,MessageBoxButtons.OK,MessageBoxIcon.Stop); } Application.Run(new Form1()); } // ******************* 防 止 程 序 多 次 执 行 ************************** publicabstractclass OneInstance { ///〈summary〉 ///判断程序是否正在运行 ///〈/summary〉 ///〈param name=“appId“〉程序名称〈/param〉 ///〈returns〉如果程序是第一次运行返回True,否则 返回False〈/returns〉 publicstaticbool IsFirst(string appId) { bool ret= if(OpenMutex(0x1F0001,0,appId)==IntPtr.Zero) { CreateMutex(IntPtr.Zero,0,appId); ret= } } [DllImport(“Kernel32.dll“,CharSet=CharSet.Auto)]privatestaticextern IntPtr OpenMutex( uint dwDesiredAccess, // access int bInheritHandle, // inheritance option string lpName // object name ); [DllImport(“Kernel32.dll“,CharSet=CharSet.Auto)] privatestaticextern 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 S class A { public A(){ PrintFields(); } public virtual void PrintFields(){} } class B:A { int x=1; 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 S 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);///显示一个消息框 case USER: 处理的代码 default: base.DefWndProc(ref m);///调用基类函数处理非自定义消 息。 } } 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= } 5. 在 .net ( C# or vb.net ) 中 , Appplication.Exit 还 是 Form.Close有什么不同? 答案:一个是退出整个应用程序,一个是关闭其中一个form 6. 在 C# 中 有 一 个 double 型 的 变 量 , 比 如 10321.5 , 比 如 644,作为货币的值如何按各个不同国家的习 惯来输出。比如美国用$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 = 9999m; 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 , IList4.概述反射和序列化 反射:程序集包含模块,而模块包含类型,类型又包含成员。 反射则提供了封装程序集、模块和类型的对象。您可以使 用反射动态地创建类型的实例,将类型绑定到现有对象, 或从现有对象中获取类型。然后,可以调用类型的方法或 访问其字段和属性 序列化:序列化是将对象转换为容易传输的格式的过程。例 如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象。在另一端,反序列化 将从该流重新构造对象。 5.概述o/r mapping 的原理 利用反射,配置 将类于数据库表映射 7.用sealed修饰的类有什么特点 sealed 修饰符用于防止从所修饰的类派生出其它类。如果 一个密封类被指定为其它类的基类,则会发生编译时错误。 密封类不能同时为抽象类。 sealed 修饰符主要用于防止非有意的派生,但是它还能促 使某些运行时优化。具体说来,由于密封类永远不会有任 何派生类,所以对密封类的实例的虚拟函数成员的调用可 以转换为非虚拟调用来处理。 11.详述.NET里class和struct的异同! class:放在 ? struct放在? struct值传递 类与结构有很多相似之处:结构可以实现接口,并且可以 具有与类相同的成员类型。然而,结构在几个重要方面不 同于类:结构为值类型而不是引用类型,并且结构不支持 继承。结构的值存储在“在堆栈上”或“内联”。细心的程序员 有时可以通过聪明地使用结构来增强性能。 12. 概述 .NET 里对 remoting 和 webservice 两项技术的理 解和实际中的应用。 远程逻辑调用,remoing接口只能用在.net中 13.什么是code-behind技术 aspx and cs 14.概述三层结构体系 web/business/dataaccess 15.asp.net 如 何 实 现 MVC 模 式 , 举 例 说 明 ! web/business/dataaccess 2.什么是ASP.net中的用户控件 答 :用户控件就是 .ascx 扩展名的东西喽 , 可以拖到不同的页 面中调用,以节省代码.比如登陆可能在多个页面上有 ,就可 以做成用户控件,但是有一个问题就是用户控件拖到不同级 别的目录下后里面的图片等的相对路径会变得不准确,需要 自已写方法调整. 3.什么叫应用程序域?什么是受管制的代码?什么是强类 型系统?什么是装箱和拆箱?什么是重载? CTS、CLS 和 CLR分别作何解释? 答:装箱就是把值类型转成引用类型,从MS IL角度看好像是 boxing, 没记错的话是把值从堆栈转到堆中 . 拆箱相反 , 重载 就是指一个方法名同 , 参数个数不同 , 返回值可以相同的方 法.CLR是通用语言运行时,其它的不清楚. 4.列举一下你所了解的XML技术及其应用 答 :XML 可是好东西 , 保存配置 , 站与站之间的交流 ,WEB SERVICE都要用它. 5.值类型和引用类型的区别?写出C#的样例代码。 答:结构是值类型,类是引用类型,所以传结构就是值类型的 应用啦,传对象或类就是引用类型的,这个不用多写了吧. 6.ADO.net中常用的对象有哪些?分别描述一下。 答:connection command sqladapter dataset datatable dataview 等等.写不完了. 7.如何理解委托? 答 :据说相当于函数指针 ,定义了委托就可以在不调用原方 法名称的情况下调用那个方法. msdn2005中是这样解释的: 委托具有以下特点: 委托类似于 C++ 函数指针,但它是类型安全的。 委托允许将方法作为参数进行传递。 委托可用于定义回调方法。 委托可以链接在一起;例如,可以对一个事件调用多个方 法。 方法不需要与委托签名精确匹配。有关更多信息,请参见 协变和逆变。 C# 2.0 版引入了匿名方法的概念,此类方法允许将代码块 作为参数传递,以代替单独定义的方法。 8.C#中的接口和类有什么异同。 答:接口是负责功能的定义,项目中通过接口来规范类,操 作类以及抽象类的概念! 而类是负责功能的具体实现! 在类中也有抽象类的定义,抽象类与接口的区别在于: 抽象类是一个不完全的类,类里面有抽象的方法,属性, 也可以有具体的方法和属性,需要进一步的专业化。 但接口是一个行为的规范,里面的所有东西都是抽象的! 一个类只可以继承一个基类也就是父类,但可以实现多个 接口 9.。net中读写数据库需要用到哪些类?他们的作用 答:这个类自已可以写的啊,你是指基类吗?那 configuration,sqlconnection,sqlcommand等都要用到. 10.UDP连接和TCP连接的异同。 答:前者只管传,不管数据到不到,无须建立连接.后者保证传 输的数据准确,须要连结. 11.ASP.net的身份验证方式有哪些?分别是什么原理? 答:form认证,windows集成认证等,原理不清楚. 13.什么是code-Behind技术。 答 :代码分离 ,这是个明智的东西 ,像ASP 这样混成一堆很不 爽 .或者可以理解成HTML代码写在前台,C#代码写在后台 . 当然前台也有脚本,类的调用等,其实写在一起也是可以的. 15..net中读写XML的类都归属于哪些命名空间?答:System.Xml 16.解释一下UDDI、WSDL的意义及其作用。 答: 17.什么是SOAP,有哪些应用。 答:SOAP(Simple Object Access Protocol )简单对象访问协 议是在分散或分布式的环境中交换信息并执行远程过程调 用的协议,是一个基于XML的协议。使用SOAP,不用考虑 任何特定的传输协议(最常用的还是 HTTP协议) ,可以允 许任何类型的对象或代码,在任何平台上,以任何一直语 言相互通信。这种相互通信采用的是XML格式的消息,具体 请看:http://playist.blogchina.com/2521621.html 20.常用的调用webservice方法有哪些? 答: 可 以 从 浏 览 器 、 ASP 页 或 其 他 WEB 服 务 调 用 可 以 使 用 HTTP-GET HTTP-POST访问WEB服务也可以从ASP页或 其 他 WEB 服 务 向 其 他 WEB 服 务 发 出 SOAP 请 求 HTTP-GET HTTP-POST SOAP 使用WEB服务代理 6. 私有程序集与共享程序集有什么区别? 一个私有程序集通常为单个应用程序所使用,并且存储于 这个应用程序所在的目录之中,或此目录下面的一个子目 录中。共享程序集通常存储在全局程序集缓存( Global Assembly Cache)之中,这是一个由.NET运行时所维护的 程序集仓库。共享程序集通常是对许多应用程序都有用的 代码库,比如.NET Framework类。 7. 请解释进程与线程的区别?进程与程序的区别? 一般,一个应用程序对应于一个或多个进程,可以把进程 看作是该应用程序在*作系统中的标识;而一个进程通常由 多个线程组成,而线程是*作系统为该应用程序分配处理时 间的最小单元。 8. CLR与IL分别是什么含义? CLR:公共语言运行时,类似于Java中的JVM,Java虚拟机; 在 .Net环境下,各种编程语言使用一种共同的基础资源环 境,这就是CLR,CLR将直接与*作系统进行通信,而编程 语言如C#.NET将尽量避免直接与*作系统直接通信, 加强了 程序代码的执行安全性,可以这样看: CLR就是具体的编 程语言如: C#.NET与*作系统之间的翻译, 同时它为具体的 编程语言提供了许多资源: IL,中间语言,也称 MSIL,微软中间语言,或CIL,通用 中间语言;所有.NET源代码(不管用哪种语言编写)在进 行 编 译 时 都 被 编 译 成 IL 。 在 应 用 程 序 运 行 时 被 即 时 (Just-In-Time,JIT)编译器处理成为机器码,被解释及执 行。 10 .请解释ASP。NET中以什么方式进行数据验证 Aps.net 中有非空验证,比较验证,取值范围验证,正 则表达式验证及客户自定义验证五大控件,另还有一个集 中验证信息处理控件 11. WEB控件可以激发服务端事件,请谈谈服务端事件 是怎么发生并解释其原理?自动传回是什么?为什么要使 用自动传回。 在web控件发生事件时, 客户端采用提交的形式将数据交回 服务端, 服务端先调用Page_Load事件,然后根据传回的状态 信息自动调用服务端事件自动传回是当我们在点击客户端 控件时,采用提交表单的形式将数据直接传回到务端 只有通过自动传回才能实现服务端事件的机制,如果没有 自动回传机制就只能调用客户端事件,而不能调用服务端 事件 12. WEB控件及HTML服务端控件能否调用客户端方法? 如果能,请解释如何调用? 可以调用 例 如 : 〈 asp:TextBox id=“TextBox1“ onclick=“clientfunction();“ runat=“server“〉 〈/asp:TextBox〉 〈INPUT id=“Button2“ value=“Button“ name=“Button2“ runat=“server“ onclick=“clientfunction();“〉 13. 请解释web.config文件中的重要节点 appSettings包含自定义应用程序设置。 system.web 系统配置 compilation动态调试编译设置 customErrors自定义错误信息设置 authentication身份验证,此节设置应用程序的身份验证策略。 authorization授权, 此节设置应用程序的授权策略. 14. 请解释ASP。NET中的web页面与其隐藏类之间的关 系? 一 个 ASP.NET 页 面 一 般 都 对 应 一 个 隐 藏 类 , 一 般 都 在 ASP.NET 页 面 的 声 明 中 指 定 了 隐 藏 类 例 如 一 个 页 面 Tst1.aspx的页面声明如下 〈 %@ Page language=“c#“ Codebehind=“Tst1.aspx.cs“ AutoEventWireup =“false“ Inherits=“T1.Tst1“ %〉 Codebehind=“Tst1.aspx.cs“ 表明经编译此页面时使用哪一 个代码文件 Inherits=“T1.Tst1“ 表用运行时使用哪一个隐藏类 15. 什么是viewstate,能否禁用?是否所用控件都可以禁 用? Viewstate是保存状态的一种机制, EnableViewState属性设置 为false即可禁用 16. 当发现不能读取页面上的输入的数据时很有可能是什 么原因造成的?怎么解决 很 有 可 能 是 在 Page_Load 中 数 据 处 理 时 没 有 进 行 Page 的 IsPostBack属性判断 17. 请解释什么是上下文对象,在什么情况下要使用上下 文对象 上下文对象是指HttpContext类的Current 属性,当我们在一 个 普 通 类 中 要 访 问 内 置 对 象(Response,Request,Session,Server,Appliction 等 ) 时 就 要 以 使 用此对象 18. 请解释转发与跳转的区别? 转发就是服务端的跳转A页面提交数据到B页面,B页面进行 处理然后从服务端跳转到其它页面 跳转就是指客户端的跳转 1.请简述一下用Socket进行同步通讯编程的详细步骤 1、在应用程序和远程设备中使用协议和网络地址初始化套 接字 2、在应用程序中通过指定端口和地址建立监听 3、远程设备发出连接请求 4、应用程序接受连接产生通信scoket 5、应用程序和远程设备开始通讯(在通讯中应用程序将挂 起直到通讯结束) 6、通讯结束,关闭应用程序和远程设备的Socket回收资源 1 、 在 C # 中 , string str = null 与 string str = “” 请尽量使用 文字或图象说明其中的区别。 string str = null 是 不 给 他 分 配 内 存 空 间 , 而 string str = “”给它分配长度为空字符窜的内存空间. 2、请详述在dotnet中类(class)与结构(struct)的异同:(10 分) Class 可以被实例化 , 属于引用类型 , 是分配在内存的堆上 的,Struct属于值类型,是分配在内存的栈上的. 3、根据委托(delegate)的知识,请完成以下用户控件中代 码片段的填写:(10) namespace test { public delegate void OnDBOperate(); public class UserControlBase : System.Windows.For ms.UserControl { public event OnDBOperate OnN privatevoidtoolBar_ButtonClick(objectsender,System.Windo ws.Forms.ToolBarButtonClickEventArgs e) { if(e.Button.Equals(BtnNew)) { // 请在以下补齐代码用来调用 OnDBOperate 委托签名 的OnNew事件。 } } } } _________________________________________________ ___________________ if( OnNew != null ) OnNew( this, e ); 4、分析以下代码,完成填空(10分) string strTmp = “abcdefg某某某“; int i= System.Text.Encoding.Default.GetBytes(strTmp).L int j= strTmp.L 以上代码执行完后, i= j= i还真的不 知道, j=10 5、SQLSERVER服务器中,给定表 table1 中有两个字 段 ID 、 LastUpdateDate , ID 表 示 更 新 的 事 务 号, LastUpdateDate表示更新时的服务器时间,请使用一 句SQL语句获得最后更新的事务号。(10) select top ID from table1 order by LastUpdateD ata desc 8 、 简 要 谈 一 下 您 对 微 软 .NET 构 架 下 remoting 和 webservice两项技术的理解以及实际中的应用。(10) remoting 是 .net 中 用 来 跨 越 machine, process, appdomain 进行方法调用的技术 , 对 于三成结构的程序,就可以使用remoting技术来构建.它是 分布应用的基础技术 .相当于以前的 DCOM Web Service 是一种构建应用程序的普通模型,并能在所有支持internet 网通讯的操作系统上实施。 Web Service令基于组件的开发 和web的结合达到最佳,基于组件的对象模型 9.什么叫做SQL注入,如何防止?请举例说明。 利用sql关键字对网站进行攻击。过滤关键字’等 所谓SQL注入(SQL Injection) ,就是利用程序员对用户输 入数据的合法性检测不严或不检测的特点,故意从客户端 提交特殊的代码,从而收集程序及服务器的信息,从而获 取想得到的资料。 http://localhost/lawjia/show.asp?ID=444 and user〉0,这时, 服务器运行Select * from 表名 where 字段=444 and user〉0 这样的查询,当然,这个语句是运行不下去的,肯定出错, 错误信息如下: ? 错误类型: Microsoft OLE DB Provider for ODBC Drivers (0x80040E07) [Microsoft][ODBC SQL Server Driver][SQL Server] 将 nvarchar 值 ’sonybb’ 转换为数据类型为 int 的列时发生 语法错误。 a 产生一个int数组,长度为100,并向其中随机插入1-100, 并且不能重复。 int[] intArr=new int[100]; ArrayList myList=new ArrayList(); Random rnd=new Random(); while(myList.Count〈100) { int num=rnd.Next(1,101); if(!myList.Contains(num))myList.Add(num); } for(int i=0;i〈100;i++) intArr[i]=(int)myList[i]; 20.请叙述类与结构的区别。 1)、结构是值类型; 2)、结构不支持继承; 3)、结构不能定义默认的构造函数; 4)、结构不能定义析构函数; 5)、结构不能使用初始值设置域值。 ============================================= ============================================= ============== asp.net面试集合 http://www.cnblogs.com/HappyPrince/archive//682 630.html 1:维护数据库的完整性、一致性、你喜欢用触发器还是自 写业务逻辑?为什么 答:尽可能用约束(包括CHECK、主键、唯一键、外键、 非空字段)实现,这种方式的效率最好;其次用触发器, 这种方式可以保证无论何种业务系统访问数据库都能维持 数据库的完整性、一致性;最后再考虑用自写业务逻辑实 现,但这种方式效率最低、编程最复杂,当为下下之策 2: ADO。NET相对于ADO等主要有什么改进? 答 ADO数据以Recordset 形式存储 ADO.NET以DataSet形 式存储 Recordset对数据库持续连接访问ADO.NET提供对数据库断 开连接 ADO.NET与ADO相比,优势在于提供了数据集和数据适配 器,有利于实现分布式处理,降低对数据库服务器资源的 消耗。 3: ASP。NET与ASP相比,主要有哪些进步? 答 asp.net 可以使用强类型语言 页面是编译,执行速度快, 增加安全性和可靠性,通过继 承机制来支持代码的重用,提供声明性服务器控件减少代 码行数 Asp需要解释,执行速度慢,重用代码不方便,没有调试机 制 4:C#中的委托是什么?事件是不是一种委托? 答 委托本质上是一种“方法接口”,它相当于C/C++中的函 数指针,当然它比函数指针安全,在C#中通常用于事件处 理。与JAVA相比,可以避免使用大量小粒度的匿名类。 (不 过,也许微软就是使用类似于JAVA的匿名类实现委托的, 只不过从字面上看起不是那么回事罢了,谁知道呢?) 事件不是委托,不过由于事件的性质决定了处理它的程序 逻辑能访问的参数,因此,在C#中处理事件的逻辑都包装 为委托(一种“方法接口”) 。实际上,如果你处理自定义的 事件,就像JAVA中那样用接口实现也是可以的,不过这么 做在C#一般没有什么特别的好处。 5:new有几种用法 第一种:new Class(); 第二种:覆盖方法 public new XXXX(){} 第三种 :new 约束指定泛型类声明中的任何类型参数都必 须有公共的无参数构造函数。 6:如何把一个array复制到arrayList里 答 foreach( object o in array )arrayList.Add(o); 7:datagrid.datasouse可以连接什么数据源 答 [dataset,datatable,dataview] dataset,datatable,dataview , IList 8:概述反射和序列化 答 反射:程序集包含模块,而模块包含类型,类型又包含成 员。反射则提供了封装程序集、模块和类型的对象。您可 以使用反射动态地创建类型的实例,将类型绑定到现有对 象,或从现有对象中获取类型。然后,可以调用类型的方 法或访问其字段和属性 答 序列化:序列化是将对象转换为容易传输的格式的过程。 例如, 可以序列化一个对象, 然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象。在另一端,反序列化 将从该流重新构造对象。 9:概述o/r mapping 的原理 答 利用反射,配置 将类于数据库表映射 10:类成员有( )种可访问形式 答 可访问性:public ,protected ,private,internal 11:用sealed修饰的类有什么特点 答 sealed 修饰符用于防止从所修饰的类派生出其它类。如 果一个密封类被指定为其他类的基类,则会发生编译时错 误。密封类不能同时为抽象类。 sealed 修饰符主要用于防止非有意的派生,但是它还能促 使某些运行时优化。具体说来,由于密封类永远不会有任 何派生类,所以对密封类的实例的虚拟函数成员的调用可 以转换为非虚拟调用来处理。 11:列举ADO.NET中的五个主要对象,并简单描述 connection,command,dataReader,dataAdapter,dataset ... 12:执行下面代码后:String strTemp =“abcdefg 某某某“; Int System.Text.Encoding.Default.GetBytes(strTemp).L Int j = strTemp.L 问:i=(14 ) ;j=(11 ) i=(14 ) ;j=(11 ) 中文两个字节i13:C#中,string str = null 与 string str =““,请尽量用文字 说明区别。(要点:说明详细的内存空间分配) 答 string str = null 是不分配内存空间,而string str = ““ 给它 分配长度为空字符串的内存空间。 14:概述.NET里对 remoting 和 webservice 两项技术的理 解和实际中的应用。 答 远程逻辑调用,remoing接口只能用在.net中 15:什么是code-behind技术 答 aspx and cs 代码隐藏 16:概述三层结构体系 答 表示层 数据层 业务层 17:用.net做B/S结构的系统,您是用几层结构来开发,每 一层之间的关系以及为什么要这样分层? 答:一般为3层 数据访问层,业务层,表示层。 数据访问层对数据库进行增删查改。 业务层一般分为二层,业务表观层实现与表示层的沟通, 业务规则层实现用户密码的安全等。 表示层为了与用户交互例如用户添加表单。 优点: 分工明确,条理清晰,易于调试,而且具有可扩展 性。 缺点: 增加成本。 18:什么是ASP.net中的用户控件 答 :用户控件就是 .ascx 扩展名的东西喽 , 可以拖到不同的页 面中调用,以节省代码.比如登陆可能在多个页面上有 ,就可 以做成用户控件,但是有一个问题就是用户控件拖到不同级 别的目录下后里面的图片等的相对路径会变得不准确,需要 自已写方法调整. 19:什么叫应用程序域?什么是受管制的代码?什么是强 类型系统?什么是装箱和拆箱?什么是重载?CTS、 CLS和 CLR分别作何解释? 答 应用程序域可以理解为一种轻量级进程。起到安全的作 用。占用资源小 受管制的代码:unsafe:非托管代码。不经过CLR运行。 强类型系统 RTTI:类型识别系统。 装箱就是把值类型到引用类型的转换 拆箱就是引用类型到值类型的转换 重载 方法名相同 不用个数的参数或者指定不同参数类 型 CTS:通用语言系统。CLS:通用语言规范。CLR:公共 语言运行库。 class box{ int aa(object i) {} object bb() {} } int bb=5 new box().aa(bb) //装箱 int conver=(int)new box().zz(); //拆箱 //重载 public void aaa(int rad) { } public void aaa(int len,int bre ) { } public void aaa(sting str) { } 20:列举一下你所了解的XML技术及其应用 答:xml可以统一数据格式,XML可是好东西,保存配置,站与 站之间的交流,WEB SERVICE都要用它. 21 :ADO.net中常用的对象有哪些?分别描述一下。 答:Connection 对象用于在应用程序和数据库之间的连接 Command 可以检索和操纵数据库中的数据 DataAdapter对象充当DataSet和数据源之间用于检索和保 存数据的桥接器 DataSet 对象从数据库检索的数据可以存储在其中能够 以XML形式保存 DataReader 是查询结果的一种只进。 只读的视图 不具有 DataSet的任何复杂功能 所以可以加快访问和查看数据的速度 不提供断开式访 问 22:如何理解委托? 答 :据说相当于函数指针 ,定义了委托就可以在不调用原方 法名称的情况下调用那个方法. msdn2005中是这样解释的: 委托具有以下特点:委托类似于 C++ 函数指针,但它是类 型安全的。 委托允许将方法作为参数进行传递。委托可用于定义回调 方法 委托可以链接在一起;例如,可以对一个事件调用多个方 法。方法不需要与委托签名精确匹配。 23:C#中的委托是什么?事件是不是一种委托? 答 委托可以把一个方法作为参数代入另一个方法。 委托可以理解为指向一个函数的引用。 是,是一种特殊的委托 24:UDP连接和TCP连接的异同。 答: udp前者只管传,不管数据到不到,无须建立连接. tcp后者 保证传输的数据准确,须要连结. 25:ASP.net的身份验证方式有哪些?分别是什么原理? 答:Forms认证,windows集成认证等,passport验证 None 26:进程和线程分别怎么理解? 答:进程是老子,线程是儿子,没有老子就没有儿子,一个老子 可以有多个儿子 . 一个儿子可以成为别人的儿子 , 一个老子 也可以为别的老子生儿子. 27:什么是code-Behind技术。 答 :代码分离 ,这是个明智的东西 , 或者可以理解成 HTML代 码写在前台,C#代码写在后台 .当然前台也有脚本 ,类的调用 等,其实写在一起也是可以的. 28:net中读写XML的类都归属于哪些命名空间? 答:System.Xml 29解释一下UDDI、WSDL的意义及其作用 答 :UDDI 用于注册各个服务提供商提供的服务 以便可以 共享它们 它还有助于WEB服务客户或web用户查找该Web 服务 wsdl 是 web 服 务 描 述 语 言 ( web Services Description Language) 30:什么是SOAP,有哪些应用。 答:SOAP(Simple Object Access Protocol )简单对象访问协 议是在分散或分布式的环境中交换信息并执行远程过程调 用的协议,是一个基于XML的协议。使用SOAP,不用考虑 任何特定的传输协议(最常用的还是 HTTP协议) ,可以允 许任何类型的对象或代码,在任何平台上,以任何一直语 言相互通信。这种相互通信采用的是XML格式的消息,具体 请看 31:如何理解.net中的垃圾回收机制。 答 GC?对象创建了总要清除啊,不然内存哪够用? 32:常用的调用webservice方法有哪些? 答 HTTP-get Http-post Http-soap 33 概述 .NET 里对 remoting 和 webservice 两项技术的理 解和实际中的应用。 答 远程逻辑调用,remoing接口只能用在.net中 34: 简述 private、 protected、 public、 internal 修饰符的 访问权限。 答 private : 私有成员, 在类的内部才可以访问。 protected : 保护成员,该类内部和继承类中可以访问。 public : 公共成员,完全公开,没有访问限制。 internal: 在同一命名空间内可以访问。 35:列举ASP.NET 页面之间传递值的几种方式。 答. 1.使用QueryString, 源页面 url=“anotherwebform.aspx?name=“ + TextBox1.Text Response.Redirect(url); 目标页面 Label1.Text=Request.QueryString[“name“]; 2.使用Session变量 源页面 Session[“name“]=TextBox1.T Session[“email“]=TextBox2.T Server.Transfer(“anotherwebform.aspx“); 目标页面 Label1.Text=Session[“name“].ToString(); Label2.Text=Session[“email“].ToString(); Session.Remove(“name“); Session.Remove(“email“); 3.使用Server.Transfer 源页面代码: public string Name { get { return TextBox1.T } } //然后调用Server.Transfer方法 private void Button1_Click (object sender, System.EventArgs e) { Server.Transfer(“anotherwebform.aspx“); } 目标页面代码: private void Page_Load (object sender, System.EventArgs e) { WebForm1 wf1; wf1=(WebForm1)Context.H Label1.Text=wf1.N }36: 一列数的规则如下: 1、 1、 2、 3、 5、 8、 13、 21、 34...... 求 第30位数是多少, 用递归算法实现。 答:public class MainClass { public static void Main() { Console.WriteLine(Foo(30)); } public static int Foo(int i) { if (i 〈= 0) return 0; else if(i 〉 0 && i 〈= 2) return 1; else return Foo(i -1) + Foo(i - 2); } } 37:override与重载的区别 答 : override 与重载的区别。 重载是方法的名称相同。 参数或参 数类型不同,进行多次重载以适应不同的需要 Override 是进行基类中函数的重写。为了适应需要。 38 :请编程 遍历页面 上所 有 TextBox 控件并给 它赋 值为 string.Empty? 答: foreach (System.Windows.Forms.Control this.Controls) { if (control is System.Windows.Forms.TextBox) { System.Windows.Forms.TextBox (System.Windows.Forms.TextBox) tb.Text = String.E } } 39:请编程实现一个冒泡排序算法? 答: int [] array = new int [*] ; int temp = 0 ; for (int i = 0 ; i 〈 array.Length - 1 ; i++) { for (int j = i + 1 ; j 〈 array.L j++) { if (array[j] 〈 array[i]) { temp = array[i] ; control intb= array[i] = array[j] ; array[j] = } } } 40:描述一下C#中索引器的实现过程,是否只能根据数字 进行索引? 答:不是。可以用任意类型。 41:求以下表达式的值,写出您想到的一种或几种实现方 法: 1-2+3-4+……+m 答: int Num = this.TextBox1.Text.ToString() ; int Sum = 0 ; for (int i = 0 ; i 〈 Num + 1 ; i++) { if((i%2) == 1) { Sum += } else { Sum = Sum - I ; } } System.Console.WriteLine(Sum.ToString()); System.Console.ReadLine() ; 42:在下面的例子里 using S class A { public A() { PrintFields(); } public virtual void PrintFields(){} } class B:A { int x=1; public B() { y=-1; } public override void PrintFields() { Console.WriteLine(“x={0},y={1}“,x,y);} 当使用new B()创建B的实例时,产生什么输出? 答:X=1,Y=0;x= 1 y = -1 43:net中读写数据库需要用到那些类?他们的作用? 答:DataSet:数据存储器。 DataCommand:执行语句命令。 DataAdapter:数据的集合,用于填充。 44:ASP.net的身份验证方式有哪些?分别是什么原理? 答:Windwos(默认)用IIS... From(窗体)用帐户 Passport(密钥) 45:在.net中,配件的意思是? 答:程序集。 (中间语言,源数据,资源,装配清单) 46:net Remoting 的工作原理是什么? 答:服务器端向客户端发送一个进程编号,一个程序域编 号,以确定对象的位置 47:根据委托(delegate)的知识,请完成以下用户控件中代 码片段的填写: namespace test { public delegate void OnDBOperate(); public class UserControlBase : System.Windows.Forms.UserControl { public event OnDBOperate OnN privatevoidtoolBar_ButtonClick(objectsender,System.Window s.Forms.ToolBarButtonClickEventArgs e) { if(e.Button.Equals(BtnNew)) { // 请 在 以 下 补 齐 代 码 用 来 调 用 OnDBOperate 委 托 签 名 的 OnNew事件。 } } } 答:if( OnNew != null OnNew( this, 48:SQLSERVER服务器中,给定表 table1 中有两个字段 ID、 LastUpdateDate, ID表示更新的事务号, LastUpdateDate 表示更新时的服务器时间, 请使用一句SQL语句获得最后更 新的事务号 答:Select ID FROM table1 Where LastUpdateDate = (Select MAX(LastUpdateDate) FROM table1) 49:根据线程安全的相关知识,分析以下代码,当调用test 方法时i〉10时是否会引起死锁?并简要说明理由。 public void test(int i) { lock(this) { if (i〉10) { i--; test(i); } } } 答:不会发生死锁, (但有一点int是按值传递的,所以每次 改变的都只是一个副本,因此不会出现死锁。但如果把int 换做一个object,那么死锁会发生) 50: 简要谈一下您对微软.NET 构架下remoting和webservice 两项技术的理解以及实际中的应用。 答:WS主要是可利用HTTP 穿透防火墙。 Remoting可以利 用TCP/IP,二进制传送提高效率 51:用C#实现以下功能 a 产生一个int数组,长度为100,并向其中随机插入1-100, 并且不能重复 答 :List L=new List(); Random random = new Random(); for (int i = 1; i 〈= 100; i++) { if (L.IndexOf(i) 〈 0) { L.Add(random.Next(1,100)); } } b 对上面生成的数组排序,需要支持升序、降序两种顺序 答 L.Reverse(L); L.Sort(L); 52:请说明.net中的错误处理机制,并举例 答 异常是从 Exception 类类继承的对象。 异常从发生问题 的代码区域引发,然后沿堆栈向上传递,直到应用程序处 理它或程序终止。 try { //执行代码,不确定是否会出错 } catch { //出错处理 } finally { //无论怎样,都要执行 } 53:请说出强名的含义 答 垃圾回收的原理是根据是否空引用,和该数据类型占用 内存来判断该收回多少内存.强类型说白就是必须要有个数 据类型.54:请列出c#中几种循环的方法,并指出他们的不同 答 FOR WHILE foreach do while 55:请指出.net中所有类型的基类 答 object 56:请指出GAC的含义 答 全局访问缓存 57:SQL SREVER中,向一个表中插入了新数据,如何快 捷的得到自增量字段的当前值 答 INSERT INTO jobs (job_desc,min_lvl,max_lvl) VALUES (’Accountant’,12,125) 58:什么是WEB控件?使用WEB控件有那些优势? 答 web控件就是可以在服务器执行的控件,优势在于可以 回传数据,带有事件驱动 59: 请解释ASP。NET中以什么方式进行数据验证? 答 .net中提供了几个数据验证控件,可以在服务器端或者 客户端进行验证。 60: 请谈谈对正则表达式的看法? 答 主要用在字符串的匹配上面, 与具体的语言环境无关。 61: ASP。NET中共有几种类型的控件?各有什么区别? 答 Html 控件 传统的html标记 Web 控件 可以回传数据,事件驱动 自定义 控件 在原有控件的基础上增加功能 复合控件 多个子控件复合成一个新的控件 62: WEB控件可以激法服务端事件,请谈谈服务端事件是 怎么发生并解释其原理?自动传回是什么?为什么要使用 自动传回。 答 通过实现IPostBack这个接口来执行事件。 自动回传就是 AutoPostBack,使用自动回传可以监视客户端变化情况并将 这种改变返回到服务器端 63: WEB控件及HTML服务端控件能否调用客户端方法? 如果能,请解释如何调用? 答 能,服务器端控件在html中表现形式还是html标记,所 以可以执行客户端事件,有多种方式: 1、control.Attributes[“onclick“]=“...;“; 2、 〈script for=“controlName“ event=“onclick“〉 〈/script〉 64: 请解释 ASP 。 NET 中的 web 页面与其隐藏类之间的关 系? 答 继承的关系 65: 什么是 viewstate ,能否禁用?是否所用控件都可以禁 用? 答 可以全部禁用,viewstate就是hidden input,只不过加上 了微软的编码方式记录控件的状态 66: 当发现不能读取页面上的输入的数据时很有可能是什 么原因造成的?怎么解决 答 可能就是事件没有关联,或者根本就没有写读取代码。 解决 检查代码, 设断点调试 67:请解释一个WEB页面中代码执行次序。 答 参看.cs 知道最先执行OnInit(); 然后到Page_Load, 最 后到具体的执行事件。 68:请解释什么是上下文对象,在什么情况下要使用上下 文对象 答 HttpContext, 在类中调用的时候需要用到HttpContext77: 什么情况用HTML控件,什么情况用WEB控件,并比 较两者差别 答 客户端表现用html控件,如果想和server端交互,那么加 上runat=server,它就成了服务器端控件,但它没有web控件 的很多方法和属性,如果你需要用到,那么还是用 web controls 78: C#中的接口和类有什么异同。 答 接口只能包含抽象方法,不能包含任何方法实现,不能 创建接口实例,接口成员没有访问修饰符,接口成员必须 是方法属性事件或者索引器不能包含常数字段运算符也不 能有静态成员69:请解释转发与跳转的区别? 答 Transfer 是转发 包括HttpHandler对象 Redirect 就是跳转 70 : 请 解 释 ASP 。 NET 中 button linkbutton imagebutton 及hyperlink这四个控件 之间的功别 答 button imagebutton 将数据传递回服务器 hyperlinK 页面之间的导航 linkbutton 主要用于将数据保存到服务器或访问服务器 上的数据 71:请解释一下。NET多层应用程序中层与层之间以那几 种方式进行数据传递。并解释你自己的项目中采用那种方 式进行。 答 这个传递方式不定, 很多都是传递DataSet, XML也可 以 72:如果出现ASP。NET中的事件不能触发可能由于什么原 因造成? 答 事件丢失,特别是使用vss的时候最容易造成这种情况, 原因不明 73: 如果需要在datagride控件中的某一列中添加下拉列表框 并绑定数据怎么解决? 答 使用模板列来添加 dropdownlist, 绑定数据使用代码前 置的方式 74:请解释asp.net中的数据绑定与传统数据绑定有什么区 别? 答 更灵活 更方便 75: 请解释.net采用委托实现的事件模型与JAVA中采用接口 实现的事件模型有什么区别, 答 以图示方式解释。 76:请解释接口的显式实现有什么意义? 答 规定强制执行,保持一致
更多搜索:
赞助商链接
All rights reserved Powered by
文档资料库内容来自网络,如有侵犯请联系客服。}

我要回帖

更多关于 map声明时需要new吗 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信