zoukankan      html  css  js  c++  java
  • 面试题整理:C#(一)

    该系列持续更新,从网上以及身边收集的问题

    1.可访问性级别有哪几种

    public 访问不受限制。
    protected 访问仅限于包含类或从包含类派生的类型。
    internal 访问仅限于当前程序集。
    protected internal 访问仅限于从包含类派生的当前程序集或类型。
    private 访问仅限于包含类型。

    2.String和StringBuilder的区别

    String类有不可改变性。每次执行字符操作时,都会创建一个新的String对象。
    StringBuilder对象在初始化以后只有一个对象。
    在频繁操作或拼接字符串时使用StringBuilder更好

    *String是引用类型,存放在堆上

    3.Struct和Class的区别

    class是引用类型,structs是值类型
    class创建在堆上。struct创建在栈上
    class可以有初始化器,struct不可以有初始化器
    class可以有明显的无参数构造器,但是Struct不可以
    class使用前必须实例化,struct不需要
    class支持继承和多态,struct不支持
    class的构造器不需要初始化全部字段,struct的构造器必须初始化所有字段
    class有面向对象的扩展优势,struct有性能优势

    4.应用程序域?托管代码?强类型系统?装箱和拆箱?重载?

    应用程序域(AppDomain)

    可以看成轻量级的进程,一个进程中可以包含多个应用程序域,一个应用程序域可以装载一个可执行程序(*.exe)或者多个程序集(*.dll)。这样可以使应用程序域之间实现深度隔离,即使进程中的某个应用程序域出现错误,也不会影响其他应用程序域的正常运作

    托管代码(Managed Code)

    中间语言(IL)代码,由公共语言运行库(CLR)执行的代码,而不是由操作系统直接执行,由CLR转换为计算机语言解释给计算机

    强类型系统

    所有变量必须被指定类型,没有强制类型转化前,不允许两种不同类型的变量相互操作

    装箱和拆箱

    箱是将值类型转换为引用类型,拆箱是将引用类型转换为值类型

    重载

    同一个类中有两个或多个名字相同但是参数不同的方法

    5.CTS、CLS和CLR分别作何解释?

    http://www.cnblogs.com/zagelover/articles/2741370.html

    CTS通用类型系统(Common Type System)

    描述了类型的定义和行为。

    CLS通用语言规范(Common Language Specification)

    是CTS的一个子集,它定义了希望编写在.NET平台上运行的程序的语言所需符合的最小规范

    CLR公共语言运行库(Common Language Runtime)

    CLR是CTS的实现,也就是说,CLR是应用程序的执行引擎和功能齐全的类库,该类库严格按照CTS规范实现。

    6.GC是什么

    CLR垃圾回收机制,根据"代"自动回收堆上不被引用的对象

    To be continue...

  • 相关阅读:
    16 把第 i 个结点从链表中删除
    15 在特定结点前插入新的元素
    14 求链表的表长
    13 返回特定数据域的结点个数
    12 按号定位
    11 按值定位
    11 头插入法创建链表)
    09 尾插入法创建单链表(实现2)
    08 尾插入法创建单链表(实现1)
    centos6.5 安装gcc 4.9.0
  • 原文地址:https://www.cnblogs.com/alex09/p/4434984.html
Copyright © 2011-2022 走看看