ASP.NET------第三站

简述C#中值类型和引用类型的异同。

相同点:都是C#中的数据类型
不同点:1、值类型的变量内含变量值本身,C#的值类型可分为简单类型、结构体类型、枚举类型;引用类型也称为参考类型,引用类型的变量不直接存储所包含的值,而是指向它所要存储的值。即值类型变量的内存空间中存储的是实际数据,而引用类型变量在其内存空间中存储的是一个指针,该指针指向存储数据的另一块内存位置。值类型在栈中分配,引用类型在堆中分配。
2、值类型变量的内存开销小,访问速度快;引用类型变量的内存开销大,访问速度稍慢。

简述C#中值类型变量和引用类型变量定义的方法 。

值类型

类型定义方法
简单类型类型名 变量名;
结构类型结构类型 结构变量;
枚举类型枚举类型 枚举变量;

结构类型的声明

struct 结构类型名称
{[字段访问修饰符]数据类型 字段1;
[字段访问修饰符]数据类型 字段2;
...
[字段访问修饰符]数据类型 字段n;
};

枚举类型的声明

enum 枚举名{枚举成员1,枚举成员2,...}

引用类型

类型名 对象名=new 构造函数();

简述C#中异常处理语句的使用方法。

try 
{被保护的语句块;} 
catch{异常说明} 
{捕获到异常时执行的语句块;} 
finally 
{完成善后工作的语句块;}

try块:封装了程序要执行的代码,如果这段代码执行过程中出现错误或者异常情况,就会抛出一个异常。
catch块:在try快后面,封装了处理在try代码块的执行过程中出现错误所采取的措施。
finally块:在安装错误处理功能的例程末尾,无论是使用函数处于正常状态,还是因为抛出错误处于不正常状态,这个块中的代码都要执行。另外,不能跳出finally块,如果跳转语句跳出fianlly块,仍要执行finally块。

在C#类的声明方法中,有哪些类访问修饰符和类成员访问修饰符?它们各有什么特点?

类的访问修饰符:

类的修饰符特点
public公共类。表示不受限制对给类的访问
protected保护类。表示只能从所在类和所在派生的子类进行访问
internal内部类。只有其所在的类能访问
private私有类。只有该类才能访问
abstract抽象类。表示该类是一个不完整的类,不允许建立类的实例
sealed密封类。不允许从该类派生新的类

类成员的访问修饰符

类成员修饰符特点
public公有成员。提供了类的外部界面,允许类的使用者从外部进行访问,这是限制最少的一种访问方式
private私有成员(默认的)。仅限于类中的成员可以访问,从类的外部访问私有成员是不是合法的,如果在声明中没有出现成员的访问修饰符,按照默认方式成员为私有的。
protected保护成员。这类成员不允许外部访问,但允许派生类成员访问
internal内部成员。允许同一个命名空间中的类访问
readonly只读成员。这类成员的值只能读不能写。也就是说,除了赋予初始值外,在程序的任何一个部分将无法更改这个成员的值

简述C#中类的静态方法和非静态方法有什么不同。

1、静态方法不需要类实例化就能被调用,反之非静态方法必须实例化之后才能调用
2、静态方法只能访问静态成员和方法,非静态方法都可以访问
3、静态方法不能标记为override,导致派生类不能重写,但是可以访问
4、静态成员在第一次使用时进行初始化。非静态成员在创建对象时进行初始化。从内存中分配上来说静态是连续的,非静态在内存的存储上是离散的,因此静态方法和非静态方法,在调用速度上,静态方法一定会快点,因为非静态方法需要实例化,分配内存,但是静态方法不用,但是这种速度上的差异可以忽略不计。

简述C#中方法参数有哪些类型,各有什么特点。

参数特点
值参数不含任何修饰符,当利用值向方法传递参数时,编译程序给实参的值做一份拷贝,并且将此拷贝传递给该方法,被调用的方法不会修改内存中实参的值,所以使用值参数时是可以保证实际值的安全性
引用型参数以ref修饰符声明的参数属于引用型参数。引用参数本身并不创建新的内存空间,而是将实参的存储地址传递给形参。所以对形参的修改会影响原来的实参的值。
输出参数以out修饰符声明的参数属于输出参数。与引用型参数类似,输出型参数也不开辟新的内存区域。调用方法前无需对参数进行初始化。
数组型参数以params修符声明数组型参数。params关键字可以指定在参数数目可变处采用参数的方法参数。在方法声明中的params关键字之后不允许任何其他参数,并且在方法声明中只允许出现一个params关键字。数组型参数不能再有ref和out修饰符
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值