c sharp字段和属性的区别 (c sharp的数据类型)

csharp引用类型,csharp语法

一、如何声明变量

//变量的第一种声明方式

int number; //在内存中开辟一个名为number,类型为int类型的空间

number = 5000; //给这个number赋值5000

//简单操作

int number=5000

//变量的第二种声明方式

int num1,num2,num3;

num1 = 5000;

num2 = 6000;

num3 = 7000;

二、C#中的数据类型

数据类型表示为例子

整数int5、50、700

小数double3.11、-15、18.0

字符char'a’ 、’B’、‘b’

字符串string “LuChao” 、”隔壁老王”

金钱小数decimal 5.6

【代码展示】

int number = 700;//存整数

double douNumber = 51.4;//存小数

//字符不能为空,最少是一个,做多也是一个

char ch = '100';//字符类型 存字符

//字符串,可为空,可以为多个

string str = "今天又开始学习了,真好!";

csharp引用类型,csharp语法

三、变量的命名规则

1、必须以“字母”、或 @ 符号开头,不要以数字开头

2、后面可以跟任意“字母”、“数字”、“下划线”

2.1、你起得变量名 不要与 C# 系统中的关键字重复

2.2、在C#中,大小写是敏感的

2.3、 同一个变量名不允许重复定义(先这么认为,不严谨)

3、定义变量时,变量名要有意义

4、C#变量命名编码规范——Camel 命名法:

4.1、首个单词的首字母小写,其余单次的首字母大写

5、Pascal 命名规范:每一个单词第一个字母都要大写(详细见下表)

6、如果使用到英文单词的缩写,全部用大写

7、变量的申明和初始化:局部变量使用前必须初始化,成员变量不初始化是有默认值

命名方法:Pascal 大小写 ,规则:标识符中每个单词都首字母大写

用途:用于类型名和成员名,例子:BigCar ,BigPhone

命名方法:Camel大小写,规则:除第一个单词以外,标识符中所有的单词都首字母大写,用途: 用于本地变量和方法参数,例子: UserName ,strEmployeeName

csharp引用类型,csharp语法

四、var关键字

1. 只能用于本地变量。

2. 只能在变量声明中包含初始化时使用。

3. 一旦编译器推断出变量类型,他就是固定且不能改变的。

csharp引用类型,csharp语法

五、编译时常量(const)

  1. 必须在声明的时候同时初始化值。在编译期决定。
  2. 只能用于数值和字符串。
  3. 没有自己的存储位置的,而是在编译时被编译器替换,类似C/C++的#define。
  4. 不能将常量声明为静态(static)。
  5. 不能是某对象的引用,因为对象的引用是在运行时决定的。

总之:常量都是static的,不能const和static同时修饰,在编译时计算,不能从变量提取值初始化,声明的同时必须初始化

六、运行时常量(readonly)

1. 相比const只能声明同时初始化,readonly字段还可以在构造函数初始化。

2. const是编译时决定,readonly是运行时决定。

3. 有自己的存储位置。

4. 可以用于任意类型。

{

const float PI = 3.1425926; //只可以在声明同时初始化。

readonly int radius = 888; //声明同时初始化

public ShapeOne ()

{

radius = 0; //可以在构造函数初始化

radius = 1; //覆盖之前的值

}

public ShapeOne(int r)

{

radius = r; //也可以是传进来的参数值

}

}

csharp引用类型,csharp语法

七、值类型和引用类型

1、值类型与引用类型

值类型:枚举enum、结构struct(int,double,float,bool, decimal, 可空类型...)

引用类型:Class,interface,int[],delegate, string, object

值类型与引用类型区别:

1.1、值类型存放在栈(Stack)中

引用类型的地址存放在栈中,值存在堆(Heap)中

栈通常比堆小,且珍贵

1.2、值类型在作为方法参数时传递的是值的复本,在方法中的修改对原值没影响

引用类型在作为方法参数时传递是的对象的地址,在方法中的修改对原对象有影响

1.3、其实不管是值类型还是引用类型都是传复本,

只不过值类型的复本就是值本身

而引用类型的复本是指向对象的地址

1.4、string 是一种特殊的引用类型,它是不可变的。修改一个字符串只会创建一个全新的字符串,而原来的字符串并不会改变,等待被GC回收。

1.5、值类型从ValueType继承而来,引用类型直接从object继承

1.6、值类型由内存分配释放,引用类型需要由.net的GC来进行释放

csharp引用类型,csharp语法

先介绍到这吧,有啥疑问的可私信我,一起成长和进步,每天进步一点点,成就一大步。