ASP.NET基础知识

1 简述c#中常用的修饰符

public 公共的。
protected:(只修饰成员)受保护的,只有在当前类内部及所有的子类内部可以访问。只有继承父类后,才可以调用它的属性。
private:(只修饰成员)私有的,最低的访问级别,被private访问修饰符修饰的成员只有在当前类的内部可以访问,其他地方一律不得访问。
internal: 同一程序集中的任何代码都可以访问该类型或成员,但的代码不可以。



2 结构与类的区别 

首先是语法定义上不同,类是用class,结构是用struct 
结构中声明字段是不能给初始值的,类中声明字段是可以给初始值的。
结构是值类型,栈中,不支持继承,直接存储,快。
类是引用类型,堆中。可以继承 。
都可以包含字段,方法 ,都可以实现接口。



3 值类型和引用类型

值类型 栈 效率高 不需要地址转换 使用完立即回收   复制 创建一个新对象 。
引用类型 栈 效率低 使用地址转换 只是对原有对象的引用。



4 堆和栈

堆 无序的,不连续的内存域  程序员来手动分配和释放的  GC
栈 由编译器自动分配和释放 函数中定义的变量在栈上 使用完毕立马释放。



5 抽象类和接口的区别?接口支持多继承;抽象类不能实现多继承。
接口只能定义抽象规则;抽象类既可以定义规则,还可能提供已实现的成员。
接口是一组行为规范;抽象类是一个不完全的类。
接口可以用于支持回调;抽象类不能实现回调,因为继承不支持。
接口只包含方法、属性、索引器、事件的签名,但不能定义字段和包含实现的方法;抽象类可以定义字段、属性、包含有实现的方法
接口可以作用于值类型和引用类型;抽象类只能作用于引用类型。



6  重写和重载

重载主要是多态 一个类中多个方法名,参数个数 参数类型 返回都可以不相同。
重写是 使用子类来重新父类,代表差异性。



7 构造函数 

主要是创建对象时,初始化对象
特殊方法 没有返回值  函数名称和类名一致 创建对象时会执行构造函数  可以重载 不可以继承 不可以重写。



8 C#中,ref和out在修饰方法参数时有什么区别?

ref和out都可以实现将一个指定的参数按照引用进行传递:
ref参数在传入方法之前必须进行初始化;而out参数在传入方法之前可以不用初始化。
ref参数在方法内部可以直接使用;而out参数在方法内部不能直接使用。
ref参数在方法内部可以使用也可以不使用;而out参数在方法返回之前必须对其赋值。


9 什么是委托?事件跟委托是什么关系?

委托可以把一个方法作为参数代入另一个方法。
委托是一种方法容器,里面可以装载若干个方法引用地址,调用委托,就相当于同时调用了该容器内的所有方法。
委托可以将方法作为参数传递给方法.委托主要用来动态调用方法的。事件基于委托,事件的本质是委托字段的包装器,对委托字段的访问起限制作用,
事件隐藏了委托实例的大部分功能,仅暴露添加和移除事件处理器的功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值