zoukankan      html  css  js  c++  java
  • Net基础面试题

    1.c#访问修饰符有哪些,有何异同?

     private:私有类型,只用当前类可以访问

     protected:访问包含类或者类派生的类

     internal:程序集类型,在相同的命名空间内可以访问

     public:访问成员没有限制,属于最高级别访问权限

     protected internal:访问仅限于包含类派生的当前程序集或者类型

     也就是同一程序集对象,或者该类及其子类可以访问 (一般不用写)

    2.CTS,CLS,CLR ?

    CTS:通用类型系统,实现com的变量兼容类型,而且还定义通用用户自定义类型的方式来进行类型扩展。
    CLS:通用语言规范,制定了一种以.ent 平台为目标的语言所必须支持的最小特征,以及该语言与其他.net语言之间实现互操作性所需要的完备特征
    CLR:公共语音运行库,CLR 是CTS的实现,CLR是应用程序的执行引擎和功能齐全的类库因为是在CLR监控下运行代码,称为托管代码,所以安全检查和垃圾回收

    3.类和结构的异同?
    class:是面向对象的基本概念,是一种自定义数据结构类型,通常包含字段, 属性,方法,构造函数,索引器,操作符等。所用的类都继承system.object 类
    struct:是一种值类型,用于将一组相关的信息变量组织为一个单一的变量实体,所用结构都继承system.valuetype,因此是一种值类型


    相同点:语法类似
    不同点:

     calss 引用类型 struct 是值类型 不具有多态性
     calss 表现为行为 struct常用于存储数据
     calss 可以继承类和接口 struct 直接接口继承
     calss 可以声明无参构造函数,可以声明析构函数,struct 只能声明带参数的构造函数,且不能声明析构函数
     calss 需要new实例化 struct 可以不使用new来实例化,所以状态未分配

    4.抽象类和接口异同?
    接口:包含一组虚方法的抽象类型,其中每一种方法都有名次,参数,返回值。接口方法不能包含任何实现
    抽象类:多个派生类共享基类的公共定义,可以提供抽象方法,也可以提供非抽象方法,抽象非不能实例化,
    必须通过继承实现抽象方法,抽象类不能使用new,也不能被密封。
    不同点:接口实现多继承  抽象类不能实现多继承
            接口定义抽象规则,抽象类可以定规则,还可以定义实现成员
     接口是一组行为规范,抽象类是一个不完全的类
     接口可以作用于值类型,引用类型,抽象类只能作用于引用类型

    5 .序列化与反射的概念以及他们各自的作用?
     反射:程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。

     您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性。
    序列化:序列化是将对象转换为容易传输的格式的过程。

    例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象。在另一端,反序列化将从该流重新构造对象

  • 相关阅读:
    HDU 1728 逃离迷宫
    程序猿求职之道(《程序猿面试笔试宝典》)之不想签约,但也不想轻易放弃机会,怎么办?
    职场生涯(—)
    Python学习笔记24:Django搭建简单的博客站点(二)
    "高可用方案工具包" high availability toolkit 1.1
    [Swift]LeetCode421. 数组中两个数的最大异或值 | Maximum XOR of Two Numbers in an Array
    [Swift]LeetCode420. 强密码检验器 | Strong Password Checker
    [Swift]LeetCode419. 甲板上的战舰 | Battleships in a Board
    [Swift]LeetCode417. 太平洋大西洋水流问题 | Pacific Atlantic Water Flow
    [Swift通天遁地]七、数据与安全-(11)如何检测应用程序中的内存泄露
  • 原文地址:https://www.cnblogs.com/linsu/p/4617163.html
Copyright © 2011-2022 走看看