自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 收藏
  • 关注

原创 值类型和引用类型的区别?

a. 将一个值类型变量赋给另一个值类型变量时,将复制包含的值。引用类型变量的赋值只复制对对象的引用, 而不复制对象本身b. 值类型不可能派生出新的类型:所有的值类型均隐式派生自 System.ValueType。但与引用类型相同的是,结 构也可以实现接口c. 值类型不可能包含 null 值:然而,可空类型功能允许将 null 赋给值类型d. 每种值类型均有一个隐式的默认构造函数来初始化该类型的默认值...

2021-01-11 08:33:55 114

原创 什么是装箱(boxing)和拆箱 (unboxing)?

a. 装箱:从值类型接口转换到引用类型。b. 拆箱:从引用类型转换到值类型

2021-01-11 08:33:12 133

原创 什么是强类型,什么是弱类型?哪种更好些?为什么?

a. C#中int i=3; i=“a”;不可以。JavaScript中 var i=3; i=3; i=“a”;可以。b. 强类型是在编译的时候就确定类型的数据,在执行时类型不能更改,而弱类型在执行的时候才会确定类型。c. 没有好不好,二者各有好处,强类型安全,因为它事先已经确定好了,而且效率高。弱类型更灵活,但是效率低,而且出错概率高d. 一般用于编译型编程语言,如 c++,java,c#,pascal 等,弱类型相比而言不安全,在运行的时候容易出现错误,但它灵活,多用于解释型编程语言,如 jav

2021-01-11 08:32:19 109

原创 Strings s=new String(“xyz“);创建了几个 String Object?

a. 两个对象b. 一个是“xyx”c. 一个是指向“xyx”的引用对象。

2021-01-11 08:31:46 110

原创 StringBuilder和String 的区别?

a. String 在进行运算时(如赋值、拼接等)会产生一个新的实例,而 StringBuilder 则不 会。所以在大量字符串拼接或频繁对某一字符串进行操作时最好使用 StringBuilder,不要使用Stringb. 如果要操作一个不断增长的字符串,尽量不用 String 类,改用 StringBuilder 类。c. 两个类的工 作原理不同:String 类是一种传统的修改字符串的方式,它确实可以完成把一个字符串添加到 另一个字符串上的工作没错,但是在.NET 框架下,这个操作实在是划不来。因

2021-01-11 08:28:04 59

原创 int、DateTime、string是否可以为 null?

a. int、DateTime 不能b. 因为其为 Struct 类型,而结构属于值类型,值类型不能为 null,只有引用类型才能被赋值 null。 string 可以为 null

2021-01-11 08:25:55 159

原创 try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行?

a. 会执行,在 return 前执行扩展:读取数据库中数据的条数的程序,如果 C#设计的是先执行 cmd.Dispose()再执行 return 就会出现 return 执行失败了,因为 cmd 已经 Dispose 了。

2021-01-11 08:25:22 70

原创 using键字有什么用?什么是IDisposable?

a. using 可以声明 namespace 的引入,还可以实现非托管资源的释放,实现了 IDisposiable 的类在 using 中创建b. using 结束后会自动调用该对象的 Dispose 方法,释放资源。c.using 其实等价于 try……finally, 用起来更方便...

2021-01-11 08:24:20 66

原创 GC是什么?为什么要有 GC?

a. GC是垃圾收集器。程序员不用担心内存管理,因为垃圾收集器会自动进行管理。b. GC只能处理托管内存资源的释放,对于非托管资源则不能使用 GC 进行回收,必须由程序员手工回收,一个例子就是 FileStream 或者 SqlConnection 需要程序员调用 Dispose 进行资源的回收。c. 要请求垃圾收集,可以调用下面的方法:GC.Collection()一般不需要手动调用 GC.Collection()。d. 加分的回答:有 一次用 OLEAutomation 的方式操作 Excel 的

2021-01-11 08:23:41 164

原创 foreach遍历访问的对象的要求

a. 需要实现 IEnumerable 接口或声明 GetEnumerator 方法的类型。

2021-01-11 08:20:50 253

原创 const与readonly的区别

a. const 关键字用于修改字段或局部变量的声明。它指定字段或局部变量的值不能被修改。常数声明引入给定类型的一个或多个常数。 const 数据成员的声明式必须包含初值,且初值必须是一个常量表达式。因为它是在编译时就需要完全评估。 const 成员可以使用另一个 const 成员来初始化,前提是两者之间没有循环依赖。b. readonly 在运行期评估赋值,使我们得以在确保“只读访问”的前提下,把 object 的初始化动作推迟到运行期进行。c. readonly 关键字与 const 关键字不同:

2021-01-08 13:10:47 103

原创 C#中的接口和类有什么异同?

不同点:a. 不能直接实例化接口。b. 接口不包含方法的实现。c. 接口可以多继承,类只能单继承。d. 类定义可在不同的源文件之间进行拆分相同点:e. 接口、类和结构都可以从多个接口继承。f. 接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员。g. 接口和类都可以包含事件、索引器、方法和属性...

2021-01-08 13:10:01 83

原创 abstract class和interface有什么区别?

相同点:a. 都不能被直接实例化,都可以通过继承实现其抽象方法。不同点:b. 接口支持多继承;抽象类不能实现多继承。c. 接口只能定义行为;抽象类既可以定义行为,还可能提供实现。d. 接口可以用于支持回调(CallBack);抽象类不能实现回调,因为继承不支持。e. 接口只包含方法(Method)、属性(Property)、索引器(Index)、事件(Event)的签名,但不能定义字段和包含实现的方法;f. 抽象类可以定义字段、属性、包含有实现的方法。接口可以作用于值类型(Struct)和引

2021-01-08 13:09:21 53

原创 C#中的委托是什么?事件是不是一种委托?事件和委托的关系?

a. 委托可以把一个方法作为参数代入另一个方法。b. 委托可以理解为指向一个函数的指针c. 委托和事件没有可比性,因为委托是类型,事件是对象下面说的是委托的对象(用委托方式实现的事件)和 (标准的 event 方式实现)事件的区别:d. 事件的内部是用委托实现的。因为对于事件来讲,外部只能“注册自 己+=、注销自己-=”,外界不可以注销其他的注册者,外界不可以主动触发事件,因此如果用 Delegate 就没法 进行上面的控制,因此诞生了事件这种语法e. 事件是用来阉割委托实例的,类比用一个自定义类

2021-01-08 13:08:42 117

原创 override与重载(overload)的区别?

a. 重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要。b. 重载(overload)是面向过程的概念。c. Override 是进行基类中函数的重写d. Override 是面向对象的概念

2021-01-08 13:08:03 73

原创 C#中索引器是否只能根据数字进行索引?是否允许多个索引器参数?

a. 参数的个数和类型都是任意的b. 用 reflector 反编译可以看出,索引器的内部本质上就是 set_item、get_item 方法

2021-01-08 13:07:24 116

原创 什么是反射?

a. 程序集包含模块,而模块又包括类型,类型下有成员,反射就是管理程序集,模块,类型的对象b. 它能够动态 的创建类型的实例c. 设置现有对象的类型或者获取现有对象的类型d. 能调用类型的方法和访问类型的字段属性。 它是在运行时创建和使用类型实例...

2021-01-08 13:06:56 68

原创 描述线程与进程的区别?

a. 线程(Thread)与进程(Process)二者都定义了某种边界,不同的是进程定义的是应用程序与应用程序之间的边 界,不同的进程之间不能共享代码和数据空间,而线程定义的是代码执行堆栈和执行上下文的边界b. 一个进程可以包括若干个线程,同时创建多个线程来完成某项任务,便是多线程。而同一进程中的不同线程 共享代码和数据空间。用一个比喻来说,如果一个家庭代表一个进程,在家庭内部,各个成员就是线程,家庭中的每个成员都有义务对家庭的财富进行积累,同时也有权利对家庭财富进行消费,当面对一个任务的时候, 家庭也可

2021-01-08 13:06:17 123

原创 三层架构

a. 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。 区分层次的目的即为了“高内聚,低耦合”的思想。b. 表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候的所见所得c. 业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理d. 数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等每层之间是一种垂直的关系e. 三层结构是 N 层结构的一种,一般来说,

2021-01-08 13:05:37 63

原创 B/S与C/S的联系与区别

B/S与C/S的联系与区别a. C/S 是 Client/Server 的缩写。客户端需要安装专用的客户端软件。b. B/S是 Brower/Server 的缩写,客户机上只要安装一个浏览器。在这种结构下,用户界面 完全通过 WWW 浏览器实现,一部分事务逻辑在前端实现,但是主要逻辑在服务器端 实现。浏览器通过WebServer 同数据库进行数据交互。C/S 与 B/S 区别:c. 硬件环境不同: C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务 器提供连接和数据交换

2021-01-08 13:04:19 105

原创 什么是受管制的代码?什么是托管代码?

a. 在.Net 环境中运行的任何代码都是受管制的代码(managedcode)b. Net 外部的代码也运行在 windows上,这些代码称为未受管制的代码(unmanagedcode)c. 使用基于公共语言运行库的语言编译器开发的代码称为托管代码d. 托管代码具有许多优点, 例如:跨语言集成、跨语言异常处理、增强的安全性、版本控制和部署支持、简化的组件交互模型、调试和分析服务等。...

2021-01-07 13:25:59 93

原创 什么是code-Behind技术?

a. 就是代码隐藏,在 ASP.NET 中通过 ASPX 页面指向 CS 文件的方法实现显示逻辑和处理逻 辑的分离,这样有助于 web 应用程序的创建b. 比如分工,美工和编程的可以个干各的,不用再像以前 asp 那样都代码和 html 代码混在一起,难以维护...

2021-01-07 13:25:14 58

原创 请解释 ASP.NET中的Web页面与其隐藏类之间的关系?

a. 一个ASP.NET页面一般都对应一个隐藏类b. 一般都在ASP.NET页面的声明中指定了隐藏类例如一个页面 Tst1.aspx 的页面声明如下<%@ Page language=“c#” Codebehind=“Tst1.aspx.cs” AutoEventWireup=“false” Inherits=“T1.Tst1”%>c. Codebehind=“Tst1.aspx.cs” 表明经编译此页面时使用哪一个代码文件d. Inherits=“T1.Tst1” 表用运行时使用哪一个

2021-01-07 13:24:40 46

原创 什么是 WEB 服务控件?使用 WEB 服务控件有那些优势、劣势?

a. web 服务控件就是可以在服务器执行的控件,优势在于可以回传数据(ViewState),带有事件驱 动(doPostBack),简化了 Html 标签的使用,使得开发 ASP.net 程序可以像开发 Winform 程序一 样简单。Web 服务控件最终还是被渲染(Render)为 Html 标签b. 使用 WEB 服务控件的劣势是会生 成一些无用的属性、ViewState 等,不利于 SEO,一般在内网系统或者互联网系统的后台中使用 WEB 服务控件。如果没有复杂的服务器交互动作,就不用 Web 服

2021-01-07 13:24:00 65

原创 列举 ASP.NET页面之间传递值的几种方式

a. 使用 QueryString, 如…?id=1;response.Redirect()…b. 使用 Session 变量c. 使用 Server.Transferd. Cookie 传值e. Application 传值f. PreviosPageg. Server.Transfer 和 Response.Redirect 的区别:Server.Transfer 是服务器内部的转接,浏览器不知晓; Response.Redirect 是有浏览器参与的,所以在地址栏中可以看到地址的变化。h

2021-01-07 13:23:17 94

原创 通过超链接怎样传递中文参数?

a. 用 URL 编码b. 通过 QueryString 传递c. 用 urlencode 编码,用 urldecode 解码

2021-01-07 13:22:17 115

原创 Session,ViewState,Application,cookie的区别?

a. Session:用于保持状态的基于 Web 服务器的方法。Session 允许通过将对象存储在Web 服务器的内存中在整个用户会话过程中保持任何对象。主要用于保持代码隐藏类中对象的状态。为每个用户创建的,用于存储单个用户,因为他是相对每个用户的.所以可能来取得在线人数等。b. ViewState:主要用于保持 Web 页上控件的状态。当 Web 页上的控件被绑定到代码隐藏类中的对象。c. Application 用于存储所有用户都可视的信息.所以它存储的是要让所有用户共享的一些信息.如总访问数等C

2021-01-07 13:21:40 49

原创 post、get的区别?

a. get的参数会显示在浏览器地址栏中,而post的参数不会显示在浏览器地址栏中b. 使用post提交的页面在点击【刷新】按钮的时候浏览器一般会提示“是否重新提交”,而get则不会c. 用get的页面可以被搜索引擎抓取,而用post的则不可以d. 用post可以提交的数据量非常大,而用get可以提交的数据量则非常小(2k),受限于网页地址的长度e. 用post可以进行文件的提交,而用get则不可以f. 扩展:通过html表单方式提交数据和ajax方式请求的原理不一样:不完百全一样。一般通过For

2021-01-07 13:20:55 55

原创 序列化有何作用?

a. 通过流类型可以方便地操作各种字节流,但如何把现有的实例对象转换为方便传输的字节流,就需要用到序列化的技术

2021-01-07 13:20:05 729

原创 什么是SQL注入式攻击?

a. 所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。b. 在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。c. 常见的SQL注入式攻击过程例如:(1) 某个ASP.NET Web应用有一个登录页面,这个登录页面控制着用户是否有权访问应用,它要求用户输入一个名称和密码。(2) 登录页面中输入的内容将直接用来构造动态的SQL命令,或者直接用作存

2021-01-07 13:19:01 71

原创 如何防范SQL注入式攻击?

a. 利用表单输入的内容构造SQL命令之前,把所有输入内容过滤一番就可以了。过滤输入内容可以按多种方式进行。b. 对于动态构造SQL查询的场合,可以使用下面的技术c. 用存储过程来执行所有的查询。SQL参数的传递方式将防止攻击者利用单引号和连字符实施攻击。此外,它还使得数据库权限可以限制到只允许特定的存储过程执行,所有的用户输入必须遵从被调用的存储过程的安全上下文,这样就很难再发生注入式攻击了d. 限制表单或查询字符串输入的长度。如果用户的登录名字最多只有10个字符,那么不要认可表单中输入的10个以

2021-01-06 13:12:33 93

原创 MVC和三层架构的理解

a. MVC即模型、视图、控制器,模型表示业务数据及业务处理,用来封装数据及行为;视图是用户看到并与之交互的界面;控制器接受用户输入并调用模型和视图去完成用户的请求。使用MVC有利于关注点分离,自动化UI测试成为了可能b. 三层架构即表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。表现层通俗讲就是展现给用户的界面,业务逻辑层即针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。数据访问层:该层所做事务直接操作数据库,针对数据的增添、删

2021-01-06 13:11:46 50

原创 MVC同时适用于Windows应用和Web应用吗?

a. 相比Windows应用,MVC架构更适用于Web应用b. 对于Windows应用,MVP(Model View Presenter)架构更好一点c. 如果你使用WPF和Silverlight,MVVM更适合

2021-01-06 13:10:59 90

原创 使用MVC有哪些好处?

a. 分离了关注点。后台代码被移到单独的类文件,我们可以最大限度的重复利用代码b. 自动化UI测试成为可能,因为后台代码移到了.NET类。这让我们更容易做单元测试和自动化测试

2021-01-06 13:10:23 87

原创 我们可以映射多个URL到同一个动作吗?

a. 可以b. 只需要添加多条不同Key名字的记录,并且指定同样的控制器和动作

2021-01-06 13:09:08 51

原创 使用hyperlink生成链接,如何从一个视图链接到另一个视图?

a. 使用ActionLink方法b. 下面的代码生成一个简单的URL,链接到"Home"控制器的GotoHome动作。<%= Html.ActionLink(“Home”,“Gotohome”) %>

2021-01-06 13:08:22 71

原创 如何限制一个动作的类型为GET或POST

a. 我们可以给MVC的动作一个HttpGet或HttpPost属性去限制HTTP的类型

2021-01-06 13:07:41 107

原创 MVC的局部视图是什么?

a. 局部视图是一个可重复调用的视图(和用户控件一样),它可以嵌入到视图里面

2021-01-06 13:06:51 56

原创 Net中会存在内存泄漏吗?请简单描述

a. 所谓内存泄露就是指一个不再被程序使用的对象或变量一直被占据在内存中b. Net中有垃圾回收机制,它可以保证一对象不再被引用的时候,即对象编程了孤儿的时候,对象将自动被垃圾回收器从内存中清除掉。c. 虽然.Net可以回收无用的对象,但是.Net仍然存在由于使用不当导致的内存泄露问题。d. Net中的内存泄露的情况:长生命周期的对象持有短生命周期对象的引用就很可能发生内存泄露,尽管短生命周期对象已经不再需要,但是因为长生命周期对象持有它的引用而导致不能被回收,这就是.Net中内存泄露的发生场景e.

2021-01-06 13:05:26 73

原创 介绍几个使用过的开源的项目?

a. Bootstrapb. Vue.jsc. React.jsd. Angulare. Node.jsf. Echartsg. log4neth. SignalRi. AutoMapperj. .NET Core

2021-01-05 12:46:26 125

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除