c#概念分析

本文深入探讨了C#中的as与is操作符、const与readonly的区别、抽象类与接口的特点、枚举(enum)、结构体(struct)及类(class)的区别,以及静态类的特性和应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1)C#细节之as和is

一、适用类型 

1)is可以判断引用类型和值类型。
2)as可以判断引用类型和可空类型。(注:当值类型变为可空类型时可以用as判断,可以推断可空实际是将值类型进行装箱操作转化为了引用类型)。
二、返回值
1)is返回值为bool型。
2)as返回值为要判断类型。

2)C#细节之const&readonly

一、赋值
1)const修饰的变量在定义时必须赋初值,其他位置不容许改变变量值;
2)readonly修饰的变量可以在定义时赋值也可以在构造函数中赋值,其他位置不容许改变变量值。
二、调用
1)const修饰的变量需要用类名来调用如同static成员一样。
2)readonly修饰的变量需要用对象来调用。

3)abstract class和interface的区别(抽象类和接口的区别) 

一、数据成员和方法

      abstract class可以有自己的数据成员,也可以有非abstract的方法。而在interface中,数据成员必须是静态

的且不能修改的(static final),所有的方法都必须是abstract的。

二、继承与实现

     对于abstract class,一个类只能使用一次继承关系,即一个类只能继承一个abstract class。而对于interface

,一个类可以实现多个interface。

4)c#中的enum,struct,class这三者的区别

enum:枚举,值类型的。有利于安全性
struct:结构体,值类型。
class:类,引用类型。

5)静态类(static class)和静态类成员

类可以声明为static的,以指示它仅包含静态成员。不能使用new关键字创建静态类的实例。

即使没有创建类的实例,也可以调用该类中的静态方法、字段、属性或事件。如果创建了该类的任何实例,不能使用实例来访问静态成员。只存在静态字段和事件的一个副本,静态方法和属性只能访问静态字段和静态事件。静态成员通常用于表示不会随对象状态而变化的数据或计算;例如,数学库可能包含用于计算正弦和余弦的静态方法。

静态成员在第一次被访问之前并且在任何静态构造函数(如调用的话)之前初始化。若要访问静态类成员,应使用类名而不是变量名来指定该成员的位置。

静态类的主要功能如下:

  • 它们仅包含静态成员。

  • 它们不能被实例化。

  • 它们是密封的。

  • 它们不能包含实例构造函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值