乱七八槽

1、值类型与引用类型

在C#中值类型的变量直接存储数据,而引用类型的变量持有的是数据的引用,数据存储在数据堆中。

值类型(value type):byte,short,int,long,float,double,decimal,char,bool 和 struct 统称为值类型。值类型变量声明后,不管是否已经赋值,编译器为其分配内存。
引用类型(reference type):string 和 class统称为引用类型。当声明一个类时,只在栈中分配一小片内存用于容纳一个地址,而此时并没有为其分配堆上的内存空间。当使用 new 创建一个类的实例时,分配堆上的空间,并把堆上空间的地址保存到栈上分配的小片空间中。
https://www.cnblogs.com/xiaodongy/p/7989711.html

https://blog.csdn.net/qiaoquan3/article/details/51202926

2、拆箱与装箱

3、Ref与Out的区别

4、string.Empty、""、null的区别

string.Empty 和 "" 在栈和堆上都分配了空间,而 null 只在栈上分配了空间,在堆上没有分配,也即变量不引用内存中的任何对象

5、typeof 与GetType()的区别

6、接口与抽象方法的区别

7、session与cookie

8、socket、TCP与UDP

9、详解struct和class的区别

10、事件Event

11、委托

12、Task、Thread、ThreadPoll、Parallel、async、await

13、override和new的区别 (修饰函数时)

14、IO

15、反射

16、常用数据结构:数组,ArrayList,List,链表,Queue,Stack,Dictionary

原文地址:https://www.cnblogs.com/macT/p/12829798.html