C#基础概念面试题(更新中)
1.面向对象的三个基本特征?
答:封装(encapsulation)、继承(Inheritance)、多态(polymorphisn)。
封装:把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
继承:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。
多态:实现多态,有二种方式,重写(override)、重载(overload)。
2.引用类型(Reference Type)和值类型(Value Type)的区别?
答:引用类型存储在堆上,包含一个指向实例的指针,默认赋值为null;
值类型存储在堆栈上,存储的是一个实际值,默认赋值为空。
C#中值类型包括:结构体(数值类型、bool型、用户定义的结构体)、枚举、可空类型。
引用类型包括:数组、用户定义的类、接口、委托、Object、字符串。
3.结构(Struct)和类(Class)的区别?
答:结构为值类型,没有默认的构造函数,没有析构函数,不能继承和被继承,变量不能直接初始化,可以不New而直接声明,不能修饰符;
类为引用类型,有构造函数和析构函数,可以继承和被继承,声明时必须先New才能被使用。
相同点:可以实现多个接口,都由Object类派生。
4.C#中引用类型(Reference Type)和值类型(Value Type)都有哪些?
答:值类型:整型(int)、长整型(long)、浮点型(float)、字符型(char)、布尔型(bool)、枚举(enum)、结构(struct);
引用类型:类(class)、字符串(string)、接口(interface)、数组(int[],string[])、集合(arraylist)。
5.什么是装箱(boxing)和拆箱(unboxing)?
答:装箱就是值类型转换为引用类型,拆箱就是引用类型转换为值类型。
6.判断空字符串的几种方法?
答:string str="";
1.if(str=="")判断速度最慢
2.if(str==string.Empty)
3.if(str.Length==0)判断速度最快
7.开放系统互连(OSI,Open System Interconnection)模型的七层结构?
答:从上往下:
应用层(A),表示层(P),会话层(S),传输层(T),网络层(N),数据链路层(DL),物理层(PH)。
8.说出你知道的几种常用通信协议?
答:1.TCP/IP协议:(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议),分四层,应用层、传输层、互联网层、网络接口层。
2.SOAP协议:(Simple Object Access Protocol,简单对象访问协议),基于XML的协议。
3.UDP(User Datagram Protocol,用户数据报协议)。
4.HTTP(Hyper Text Transfer Protocol,超文本传输协议)是万维网(www,world wide web)的基础,属于应用层的页面对象的协议。
5.FTP(File Transfer Protocol,文件传输协议)是网际提供的用于访问远程机器的一个协议,使用户可以在本地与远程机器之间进行有关文件的操作。
9.C#中虚函数(Virtual),抽象类(Abstract)和接口(Interface)有什么区别?
答:虚函数,可以被Override的函数。
抽象类,不能被直接实例化的类。
接口,只有函数定义,没有函数实现,只能被继承,不能被实例化的类,相当于纯抽象类,可以实现多继承。
10.Const和Readonly有什么区别?
答:const关键字用来声明编译时常量,readonly用来声明运行时常量。
11.System.String 和System.StringBuilder有什么区别?
答:System.String是不可变的字符串。System.StringBuilder存放了一个可变的字符串,并提供一些对这个字符串修改的方法。
转载于:https://www.cnblogs.com/zhoufeng/archive/2009/02/28/1400463.html
C#基础概念面试题(更新中)相关推荐
- html中给div设置的属性怎么样才能拿得到_前端基础高频面试题(更新中)
页面渲染的全过程 输入url后,先拿到html文件,html下载完以后会开始对它进行解析 html在解析的过程中,如果文本里有外部资源链接,比如css.js和img时,会立即启用其他线程下载这些静态资 ...
- 前端提示框定位在鼠标的右下_前端基础高频面试题(更新中)
页面渲染的全过程 输入url后,先拿到html文件,html下载完以后会开始对它进行解析 html在解析的过程中,如果文本里有外部资源链接,比如css.js和img时,会立即启用其他线程下载这些静态资 ...
- 计网/数据库面试题(更新中ing~~)
计网/数据库面试题(更新中ing~~) <计算机网络> 1. OSI七层模型.设备 (传输层)协议的多路分用和复用 2. TCP/IP四层模型==五层模型 (传输层)TCP和UDP协议对比 ...
- 冲刺阶段 - PMP易错概念(持续更新中)
文章目录 1. 基础概念 2. 整合管理 3. 范围管理 4. 进度管理 5. 成本管理 6. 质量管理 7. 资源管理 8. 沟通管理 9. 风险管理 10. 采购管理 11. 相关方管理 1. 基 ...
- Linux基础命令(持续更新中)
Linux学习进阶路线图:http://www.nowamagic.net/librarys/veda/detail/2054 命令: Linux入门教程(精华基础版) 在系统安装过程中可以创建两种帐 ...
- [转载] 常用应届生Java开发笔试面试题(更新中)
参考链接: Java中的循环的重要事项 Java开发面试题 Java基础篇Java8大基本数据类型Java的三大特性面向对象如果让你推销一款Java产品,你会怎么推销呢?(java的特点)JVM与字节 ...
- Linux系统基础小白学习(更新中)
Linux系统小白学习 Linux基础介绍安装 1.1 Unix与Linux 背景 Unix&Linux区别与联系 1.2 Linux介绍 特点 组成 Linux文件系统 内核版本 硬件 文件 ...
- Android学习笔记:Android基础知识点(不断更新中)
1.Android学习笔记:OkHttp 2.Android学习笔记:更新UI的方法(UI线程和非UI线程) 3.Android学习笔记:Volley 4.Android学习笔记:Handler 5. ...
- 计算机基础面试(持续更新中)
一.计算机网络 TCP/UDP TCP/IP即传输控制协议,是面向连接的协议,发送数据前要先建立连接,TCP提供可靠的服务,也就是说,通过TCP连接传输的数据不会丢失,没有重复,并且按顺序到达.(类似 ...
- 2022最新面试题-更新中
一.JavaSE 1.jdk1.8和其他版本有哪些区别? 1.jdk1.8 新增了 Lambda 表达式 2.jdk1.8 新增了很多函数式接口:主要分为四大类,消费型.供给型.判断型.功能型 3.j ...
最新文章
- 一起学WPF系列(2):第一个WPF应用程序
- signature=17cdfa42b38e299201383f4fa6ccc23f,EYE FOR FASHION
- 塔防游戏的路径寻找算法分析
- WUSTOJ 1299: 结点选择(Java)
- 1006 换个格式输出整数 (15 分)
- c int转char数组_C语言 指向数组和字符串的指针
- 如何编写一个shell脚本
- leetcode3. Longest Substring Without Repeating Characters
- (14)System Verilog 常量const详解
- 【java】java 关键字: final详解
- log4j每天产生一日志文件
- 一种基于annotation的Spring-mvc权限控制方法
- 剖析Disruptor:为什么会这么快?(二)神奇的缓存行填充
- 浮点错误是什么意思_Excel函数计算常见错误值,都是什么意思
- oracle分页怎么查询,Oracle的分页查询详解
- 企业10大管理流程图,赶紧收藏!
- 权威的国际敏捷认证Certified Scrum Master (CSM)
- 初学者如何学习C语言,C语言从入门到精通学习全路径
- 真心话大冒险,一款小程序让你看清你朋友的内心
- 计算机等级考试数据库三级模拟题12