昨天面试,面试官问:你对C#方法参数有什么认识?
可怜的我只知道C++中方法参数传递中有按值,按引用,按指针。在拷贝构造函数中有深拷贝和浅拷贝(浅拷贝只拷贝引用或者指针,即只有一个被拷贝对象的引用或指针的副本,并没有在内存堆里new)。
可怜的我之前虽然知道C#有两大基础类型:值类型和引用类型,但确实木有深入了解过。对其装箱和拆箱操作也只知皮毛。
…然后就尬聊了C++的方法参数,-_-||
言归正传。。。。。。。。。。。。。。。。。。。。。
- C#是一种静态的安全的类型语言
- 静态是说,类型在编译时就确定了(当然,可以通过父编子动,虚方法实现动态行为)
- 安全是说,它的所有类型都是继承于System.Object,可以禁止没有任何关系的类型,进行转换。
- C#有两种类型:值类型,引用类型
- 值类型:分配在线程栈中(类比C++内存栈),有结构和枚举两类(结构又分三类: 1. 数字结构System.Int32,Syetem.Float,System.Decimal;2. 布尔结构 System.Boolean; 3. 自定义结构(struct关键字修饰))