作为你一.Net和C#开发这些知识,你是否掌握了,你是否算的上一名入门的程序员?
技术不行并不可怕,可怕的是你不知道自己还需做哪一方面的提升,本篇文字本人的一些面试时所经常涉及的问题,并且在网上收集了一些优秀的博客进行了相应的整合,有哪些描述的不到位的请大佬指出,谢谢------共同学习,共同进步!!
访问修饰符:
public:公有访问,不受任何限制。
private:私有访问,只限于本类成员访问。
protected:受保护的,只限于本类和子类访问。
internal:内部访问,只限于本项目内访问,其他的不能访问
protected internal:内部保护访问,只限于本项目或是子类访问,其他的不能访问
枚举:是由一组特定常量构成的一组数据结构,是值类型的一种特殊形式,当需要一个由指定常量集合组成的数据类型时,使用枚举类型。枚举声明可以显式地声明 byte、sbyte、short、ushort、int、uint、long 或 ulong 类型作为对应的基础类型。没有显式地声明基础类型的枚举声明意味着所对应的基础类型是 int,在代码中使用枚举,可以将以前笨拙的代码变得优雅简单,更加直观,方便记忆。
枚举在什么地方适用呢?一条普遍规则是,任何使用常量的地方,例如目前用 switch 代码切换常量的地方。如果只有单独一个值(例如,鞋的最大尺寸,或者笼子中能装猴子的最大数目),则还是把这个任务留给常量吧。但是,如果定义了一组值,而这些值中的任何一个都可以用于特定的数据类型,那么将枚举用在这个地方最适合不过。
WebAPI 和 WebService的区别:(https://blog.csdn.net/cysong168/article/details/51433986)webapi使用的是http协议,而webservices采用的是soap协议webapi是无状态的,相对于webserives更轻量级。webapi支持get,和post等http请求
http soap关系:http是一个客户端和服务器端请求和应答的标准(TCP)。http协议其目的是为了提供一种发布和接收htttp页面的方法一http协议的客户端与服务器的交互:由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,比如”HTTP/1.1 200 OK”,和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。soap 协议:它描述了一种在分散或分布式的环境中如何交换信息的轻量级协议。soap在http协议的基础上,一个基于XML的协议。
不同:都是底层的通信协议,请求包的格式不同而已,soap包是XML格式,http纯文本格式。
WCF和WEB API我该选择哪个? 1、当你想创建一个支持消息、消息队列、双工通信的服务时,你应该选择WCF
2、当你想创建一个服务,可以用更快速的传输通道时,像TCP、Named Pipes或者甚至是UDP(在WCF4.5中),在其他传输通道不可用的时候也 可以支持HTTP
3、当你想创建一个基于HTTP的面向资源的服务并且可以使用HTTP的全部特征时(比如URIs、request/response头,缓存,版本控制,多种内容 格式),你应该选择Web API 4、当你想让你的服务用于浏览器、手机、iPhone和平板电脑时,你应该选择Web API
hashmap和hashTable的区别:(https://blog.csdn.net/mao_mao37/article/details/51896202)
1.hashTable是Dictionary的子类,HashMap是Map接口的一个实现的类
2.Hashtable中的方法是同步的,而HashMap中的方法缺省情况为非同步
3.HashTabe不允许null值,而hashmap允许有null4.hashtable默认长度是11,增长方式是0ld*2+1,而hashmap则默认是16,而且一定是2的指 数
如何理解委托和事件?委托相当于c或者c++中的指针,委托能够把方法当做参数传递,并且提高程序的可扩展性。事件:以一种特殊的委托
委托具有如下特点:1.委托相当于c++中的指针,但是他是安全类型
2.委托可以把方法当做参数传递
3.委托可以定义回调方法
4.委托可以链接在一起,例如:可以对多个事件调用多个方法