C#变量与常量

1. 变量的基本概念

一个变量只不过是提供程序操作的存储区的名字,在C#中每个变量都有一个特定的类型,类型决定了变量的大小和布局,范围内的值可以存储在内存中,可以对变量进行一系列的操作

2. 变量的声明及赋值

a) 声明变量

b) 变量的赋值

c) 变量的作用域(方法中)

C#五个修饰符的权限

修饰符    级别    适用成员        解释

public    公开    类及类成员的修饰符   对访问成员没有级别限制

private    私有    类成员的修饰符     只能在类的内部访问

protected   受保护的  类成员的修饰符      在类的内部或者在派生类中访问,不管该类和派生类是不是在同一程序集中

internal    内部的    类和类成员的修饰符    只能在同一程序集(Assembly)中访问

2.类class的访问权限

类的访问修饰符只有两种:public、internal。如果class前面没有加任何修饰符的话,默认是internal。

public class:任何地方都可以访问到。

internal class或class:只有同一个程序集中能访问到(程序集代表能生成exe或dll的项目,一个程序集中可以有多个命名空间)。例如:一个解决方案中有两个项目,就代表有两个程序集,两个程序集分别为A、B。其中A中有个class为internal级别的,那么B引用了A的程序集也是不能调用这个类。

3.类成员(字段和方法)的访问权限

类成员的修饰符可以为:public、private、protected、internal、protected internal。

如果类成员(字段和方法)前面没有加有修饰符的话,默认访问权限是private。

但是构造函数默认访问权限为public

4.接口interface的访问权限

同class一样,可以为public和internal。

但是接口中的方法默认访问权限为public,并且不能显示的定义其他访问类型。

5.抽象类abstract class(该类只能作为父类被用于继承,而不能进行对象实例化)

抽象类中必须有一个以上的抽象方法,访问类型可以定义为:public、protected、internal,不能是private

6.枚举enum和结构struct权限

枚举类型成员默认为public访问修饰符,且不能显示的使用其他修饰符。

结构成员默认private修饰符,

结构成员无法声明为protected成员,因为结构不支持继承。

全局数据区:存放全局变量,静态数据,常量

代码区:存放所有的程序代码

栈区:存放为运行而分配的局部变量,参数,返回数据,返回地址等

堆区:即自由存储区

3. 数据类型

1) 其中值类型有13个,引用类型有2个

2) char为值类型,String为引用类型

3) 两种类型都是由基本类object的发展而来

4) Enum(枚举)和struct(结构体)为值类型

5) 类、接口、数组、委托为引用类型

a) 值类型

整型类型Int

在c#中,最常用的整数类型是int类型。

int占4个字节,4字节就是32个比特,每个比特可以是两种状态。所以int能表示的数一共有2的32次方个。

但是int是可以表示负数的,拿了一个比特做符号,然后因为电脑中计数是从0开始数的,所以最大值要减1.

最终,int能表示的最大值是231-1=2,147,483,647。大约21亿

int的最小值是 负231,因为0已经归在正数那一边了,负数是从–1开始数的。

整型类型long

那肯定会遇到int不够用的情况,21亿还是勉强能数出来的,我们需要更大的数据。

long类型占8个字节。那么他的计算方式和上面一样。直接说结果:最大值约为922亿亿

浮点型double

关键字 中文 比特 上限 精度

float 单精度浮点类型 32 3.4e38 223

double 双精度浮点类型 64 1.79e308 252

decimal 十进制浮点数 128 7.92e28 296

字符型char

布尔类型 bool

b) 引用类型

字符串类型 string

class为引用类型

c) 枚举类型

枚举只有一种成员:命名的整型常量的集合

枚举是值类型

使用枚举有效地防止用户提供无效值,使代码更加清晰

d) 类型转换

隐式引用转换

• 所有引用类型可以被隐 式转换为object类型

• 任何类型可以隐式转换到它继承的接口

• 类可以隐式转换到继承链的任何类或它实现的任何接口

• 从任意 引用类型 到对象 。

• 从任意 类类型 S 到任意 类类型 T, 只要 S 是由 T 派生出来的。

• 从任意 类类型 S 到任意 接口类型 T, 只要 S 实现 T。

• 从任意 接口类型 S 到任意 接口类型 T, 只要 S 是由 T 派生出来的

显示引用转换

• 从object到任何引用类型的转换

• 从基类到从它继承的类的转换

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值