C#初学,数据类型

  • A+
所属分类:.NET技术
摘要

值类型  数据类型,字符类型,布尔类型,日期类型  结构类型(struct),枚举类型(enum)

值类型

  数据类型,字符类型,布尔类型,日期类型

  结构类型(struct),枚举类型(enum)

引用类型

  字符串(string),数组,类,委托类型

 

说明:
(1)值类型数据-通常在栈(stack)中分配,变量中存放的是实际数据值。
(2)引用类型的实际数据被分配在堆(managed heap)中,而引用变量被分配在栈中;引用类型变量存放的是堆中实例数据的存储地址(即引用)。

 

C#数据类型

C#初学,数据类型

 

 

 

C#初学,数据类型

 

 

 

 

 

 

 

 

 

 

 

 

 

枚举类型是具有命名常量的独特的类型。
枚举的声明如下:
访问修饰符enum枚举名[:基础类型]
{
  枚举成员
}

其中:基础类型为8种整数类型之一,默认为int。每个枚举成员为一个命名常数,具有一个整数值。第一个枚举成员默认值为零,以后的成员值是将前一个枚举成员的值加1 得到。

枚举例子:

public enum TimeofDay
{
  Morning=1 ,
  Afternoon ,
  Evening    //结束没有逗号,
}
Morning的值为1,使用-TimeofDay. Morning
Afternoon的值为2,使用-TimeofDay. Afternoon
Evening的值为3,使用-TimeofDay. Evening

 

 

C#的数据类型-结构
C#中的结构类型与类相似,可以定义包含数据成员和方法成员的结构。但与类不同的是,结构是一种值类型,并不需要堆的分配。

在结构的声明中,不能对实例字段变量初始化。(const,static字段除外)。

结构中可以声明带参数的构造函数(为结构中数据成员初始化),通过new创建结构的实例。

 

01:struct A
02:{
03:  public int x; //不能直接对其进行赋值
04:  public int y;
05:  public static string str = null; //静态变量可以初始化
06:  public A(int x,inty) //带参数的构造函数
07:  {
08:    this.x= x;
09:    this.y= y;
10:    Console.WriteLine("x={0},y={1},str={2}", x, y,str);
11:  }
12:}

当方法中的参数名与类中字段名同名时如:
03与06行,这时方法中this.x将引用实例中的字段名。

 

常量
符号常量-使用const修饰符进行声明。
符号常量必须在声明时初始化。
例如:
public constintmonths=12;
声明多个相同类型的常量,例如:
constintmonths = 12, weeks = 52, days = 365;
字面常量:

int型常数(不带小数)如:25

double型常数如:3.14 , 314e-2

 

隐式类型-var
C# 的局部变量可以使用隐式类型var声明。格式为:
var 变量名=初值表达式;
变量的实际类型由初值表达式推断。
如:vari = 10; // 隐式声明变量,i可推断为int
var s=“abcd”; //隐式声明变量,s推断为string
注意:

var声明的变量必须是局部变量。

必须在声明时初始化

例:输出A数组各元素值
for( var i=0;i<6;i++)
Console.Write(A[i] + " ");