C#我不知道的事

1.命名空间是起什么作用的?和程序集之间的关系

命名空间把逻辑相关的类型组织到一起,就相当于区分类型的地址。命名空间+类型名才是标识类型的唯一地址。

一个程序集可以有多个命名空间。

2.静态类是干什么的?

静态类也只是把逻辑相关的一些静态函数组织在一起,除此之外没有其他功能。功能限制就是只能包含静态成员。

3.抽象函数和接口到底选哪个?

相同点:都不能直接实例化。都是抽象的概念,设计模式的精髓就是面向抽象编程。

不同点:

1).类可以继承(实现)多个接口,但是只能继承一个抽象类

2).抽象类用于关系比较紧密的多个类,而接口就是给多个不相关的类提供通用的功能。

3).抽象类倾向于is a的关系,接口更倾向于can do的关系

4).抽象类可以包含接口不能有的东西,比如字段,实现的方法

4.struct构造函数的一些要求

不能显示的写无参构造函数

如果有有参的构造函数,必须对所有的字段进行初始化

不允许private int a = 5;

5.Dynamic c#4.0的新特性

用于简化COM组件的互操作

用于简化反射

6.关于internal

class默认是internal的

如果是internal的其他程序集可以使用吗?答案可以,使用友元程序集,但是谨慎使用。

7.类型的静态构造器

只能是无参的,默认是private的,但是不能写出来

在类型第一次使用的时候调用,允许静态字段在生命的时候初始化,在构造之前执行

静态构造器是线程安全的



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值