zoukankan      html  css  js  c++  java
  • C#基础面试

    1. 简述Private、Protected、Public、Internal 等访问修饰符的访问权限问题

    Private:私有成员,只有类的内部成员可以访问

    Protected:保护成员,在类的内部和继承类中可以访问

    Public:公共成员,没有访问权限

    Internal:在当前程序集内都可以进行访问

    2.ADO.NET中的五个主要对象

    (1)Connection对象:主要作用是开启程序集和数据库之间的连接(open()和close()方法)。

    (2)Commend对象:发送SQL语句指令以及调用在数据库中的存储过程。

    (3)DataAdapter对象:功能:在数据源和DataSet之间执行数据传输的工作。

    它可以通过Commend对象下达命令,将获得的数据传送到DataSet中。

    (4)DataSet对象:是一个存储在内存中的缓存区(Cache),可以将数据库中所查询的数据先保留在Dataset中,也可将整个数据库的数据显示出来。

    (5)DaraReader对象:依次向下循环读取数据(只有只读功能)

    数据库和程序集之间的执行过程:

    ADO.NET使用Connection对象连接数据库,使用Commend对象或DataAdapter对象执行SQL语句或存储过程,并将执行的结果返回给DataReaderd对象或DataAdapter对象,然后再使用取得的DataReader对象或DataAdapter对象尽享操作数据结果。

    3.列举ASP.NET页面之间的传值方式

    经常使用的方法有以下几种:

    (1)使用QueryString

    (2)使用Session变量

    (3)使用Server.Transfer

    (4)使用cookie对象

    (5)使用application对象

    传值的更多详细信息(有例子和代码):http://www.cnblogs.com/zhangkai2237/archive/2012/05/06/2486462.html

    4.Response.Redirect方法与Server.Transfer之间的区别

    Server.Transfer方法是服务器内部的转接,浏览器并不知晓(即已经跳转到指定的页面,显示的页面内容是跳转后的内容,而地址栏中的地址确实跳转页面之前的地址)

    Response.Redirect方法是有浏览器参与的,在地址栏中可以看到地址的变化

    5.重写(overide)与重载(overload)

    重写(override)是进行基类中函数的的重写,是面向对象的概念。

    重载(overload)是方法名相同,参数或参数类型不同,进行多次的重栽以适应不同的需要,是面向过程的概念。

    6.C#中的索引是否只能根据数字进行索引?是否于允许多个索引参数?

    C#中的索引的索引的参数和类型都是任意的,是不受到限制的。

    使用reflect反编译器,可以看到C#索引的实质是Set_item、Get_item方法。

    7.属性与public字段的区别是什么?

    属性可以对设置值、取值进行控制,例如年龄是禁止设置负值的;

    字段不可以对值进行控制

    8.三次架构的了解?

    三层架构即是:将整个业务应用划分为以下三层:表示层(UI)、业务逻辑层(BLL)、数据访问层(DAL)

    表示层(UI):展现给用户的界面

    业务逻辑层(BLL):对数据层的操作(对业务逻辑的管理)

    数据访问层(DAL):直接对数据库进行操作,主要是对数据库中的数据的增、删、改、查等操作

    优点:分工明确,条理清晰,易于调试,具有扩展性

    9.MVC模式

      MVC(Model View Controler)模型-视图-控制器

    MVC是一种典型的平行关系,模型--业务领域的事情   视图--负责显示的事情  控制器--把数据读取出来填充模型后把模型交给视图处理

    最大的好处是将逻辑交给处理

    10.什么是装箱?什么是拆箱?

    装箱:从值类型转换到引用类型

    拆箱:从引用类型转换到值类型

    Object obj=null;

    obj=1;    //装箱

    int m=(int)obj;  //拆箱

    11.什么叫应用程序域(AppDomain)?

    一种边界,它由公共语言运行库围绕统一应用程序范围内的创建的对象建立(即从应用程序的入口点开始,沿着对象激活的序列的任何位置)

    12.CTS、CLS、CLR分别做如何解释?

  • 相关阅读:
    Step by Step To Create a K8S Cluster
    Linux简单操作指令
    安装redis 最新版 redis-6.2.6
    GCC升级到11.2.0
    SQL开窗函数
    SQL 树形结构递归查询
    一文详解python的类方法,普通方法和静态方法
    _new_()与_init_()的区别
    关于Python的import机制原理
    【原创】android内存管理-hprof文件
  • 原文地址:https://www.cnblogs.com/songxia/p/3972967.html
Copyright © 2011-2022 走看看