C#基础——基本数据类型、常量及变量

简介: C#基础——基本数据类型、常量及变量

基础知识:

1.常用的数据类型:int,short,char等,注意:可空数据类型

整数类型

有符号整数:sbyte,short,int,long

sbyte 占有1个字节(8个二进制位),取值范围:-128 ~127

short 占有2个字节(16个二进制位),取值范围:-32768 ~32767

int占有4个字节(32个二进制位),取值范围:-2147483648 ~2147483647 如:int age = 13;

long占有8个字节(64个二进制位),取值范围:9,223,372,036,854,775,808~9,223,372,036,854,775,807

例:long num = 31413L


无符号整数:byte,ushort,uint,ulong

byte占有1个字节(8个二进制位),取值范围:0 ~255

ushort占有2个字节(16个二进制位),取值范围:0~65535

uint占有4个字节(32个二进制位),取值范围:0~4294967295

ulong占有8个字节(64个二进制位),取值范围:0~18,446,744,073,709,551,615如:ulong num = 3414324U;

浮点数(有小数点)

单精度:float,有效位:小数点后的7位。如 float price = 3.0987392F

双精度:double有效位:小数点后的15位。如 double price = 3.0987392222D

decimal 有效位:小数点后的28位。如 decimal price = 3.0987392222M

备注:decimal对应着数据库的money数据类型。


科学计数法表示数值:double  d=2.5e-6 ;表示d=2.5*10-6转存失败重新上传取消。

布尔数据类型:bool,只有true和false。

字符类型

单个字符(单引号):char占有2个字节(16个二进制位) 如:char c =  ‘a’;

字符串(双引号):string 如:string name = “张三”;

注:如果一个字符串时double的小数,不能直接强制转化为int类型,需要先转为double类型在转化int类型。例:


string a=”3.8”;int b=(int)Convert.ToDouble(a);


字符串留用问题:


    因为字符串是不可变的对象,如果多个字符串便令引用多个内容相同的字符串,这样就会浪费资源;如果在托管堆只保留一个字符串对象,这样会更加有效的利用内存。字符串留用的原理就是这样的,所以相同的字符串只有一个字符串实例,如string P_str=”abc”和string p_str2=”abc” 两个字符串变量引用的是一个字符串对象。


对象数据类型:是所有数据类型最终的基类

只有object 如:object obj = “123”;


可空数据类型:? 如:int? age = null;

备注:把大的数据类型的变量赋值给小的数据类型变量,须强制转换。如下:


 int b = 10;


 byte c = (byte)b;// 强制转换


注:整数在计算机中默认是int类型,小数默认是double类型。如果和小的数据类型做运算时也需要强转:


例: byte b=4; byte b1=3; byte b2=7;


b= b1+3; //出现错误提示:无法将类型int因式转换为‘’byte“,存在显示转换。


纠正:b=(byte)(b1+3);


另外,如果两个byte类型的数据做运算时也需要强转。


例:b=b1+b2; //无法将int因式转换为”byte“,存在一个显示转换,两个byte类型的变量相加是,自动转化为int ,防止超出范围。


变量的定义:根据定义的位置不同:

字段:定义在类的里面,方法的外边的变量

局部变量:定义在方法的里边的变量

Class Program {

//字段


Static Void Main()


{//局部变量}


变量的命名规则:第一个位置必须是字母或下划线,但只能包括字母,数字,下划线。

格式:数据类型 变量名字(注意:如果是字段的话,需要前边加上[访问修饰符]:[访问修饰符] 数据类型 变量名字)

5个访问修饰符:private,protected,internal,protected internal,public。

私有的(private):修饰的变量只能在当前类中访问,而其他类中不能访问。

受保护的(protected):修饰的变量只能在当前类中访问,或当前类的子类(派生类)中访问。

internal:修饰的变量只能在当前程序集(项目)中所有类访问。

protected internal:修饰的变量只能在当前类中访问,或当前类的子类(派生类)中访问,在当前程序集(项目)中所有类访问。

公共的(public):修饰的变量在任何类中都可以被访问。

常量,只读字段。

常量:在运行过程中,不能修改常量所保存的值。关键字:const,定义的时候必须初始化(给变量赋值)定义格式:字段常量和局部常量。定义常量用public


字段常量:[访问修饰符] const 数据类型 常量的名字=初始值 如:public const string sex = “男”;


局部常量:const 数据类型 常量的名字=初始值。如:const string sex = “男”;


注意:Const 不能与Static同时使用,因为Construction默认是静态的。


只读字段:在运行过程中,不能修改常量所保存的值,但唯一可以修改该变量的值是在类的构造函数中。关键字:readonly


一般情况下只有只读字段如:private readonly string connStr = “data source=.”


       Const与readonly区别:


1. const 字段只能在该字段的声明中初始化。readonly 字段可以在声明或构造函数中初始化。因此,根据所使用的构造函数,readonly 字段可能具有不同的值。


2. const 字段是编译时常数,而 readonly 字段可用于运行时常数。

3. const 默认就是静态的,而 readonly 如果设置成静态的就必须显示声明。

4.const 对于引用类型的常数,可能的值只能是 string 和 null。readonly可以是任何类型


总结:const只能在初期就使用常量初始化好。对于每一次编译后的结果,const的值是固定的,而readonly的值是可以在运行的时候才确定值的~~


目录
相关文章
|
1月前
|
C#
C#学习相关系列之数据类型类的三大特性(二)
C#学习相关系列之数据类型类的三大特性(二)
|
1月前
|
存储 C#
C#数据类型之结构体介绍
C#数据类型之结构体介绍
|
1月前
|
存储 安全 数据库连接
C#深度揭秘:常量的魅力和实践,一文让你从新手到专家
C#深度揭秘:常量的魅力和实践,一文让你从新手到专家
25 0
|
1月前
|
C#
C#数据类型之枚举类型
C#数据类型之枚举类型
|
1月前
|
存储 编译器 数据处理
C#基础入门之数据类型
C#基础入门之数据类型
|
1月前
|
存储 C#
深入C#数据类型
深入C#数据类型
9 0
|
1月前
|
C#
C#学习相关系列之数据类型类----嵌套类和嵌套方法(三)
C#学习相关系列之数据类型类----嵌套类和嵌套方法(三)
|
1月前
|
存储 C# 索引
C#学习相关系列之数据类型类的定义(一)
C#学习相关系列之数据类型类的定义(一)
|
1月前
|
存储 开发框架 .NET
C#学习相关系列之数据类型---Diactionary字典的用法
C#学习相关系列之数据类型---Diactionary字典的用法
|
1月前
|
存储 C# 开发工具
22.C# 中使用变量记录玩家创建的角色名:实现与游戏角色的互动
22.C# 中使用变量记录玩家创建的角色名:实现与游戏角色的互动
25 0