C#数据类型,引用类型,数值类型

.NET类型

引用类型:字符串,数组,类,委托类型

值类型:

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

值类型数据通常在栈stack当中分配

变量当中存放的是实际数据值

引用类型的实际数据被分配在堆当中,而引用变量被分配在栈当中,引用类型变量存放的是堆当中的示例数据存储地址即引用

引用类型“object,string,classs,interface.int[],delegate

每一个枚举成员为一个命名常数,具有一个整数值,第一个枚举成员默认值是0,以后的成员值是将前一个枚举成员值加1得到的

publicenum TimeOfDay{

Morning=1;

Afternooon,

Evening}

结构式一种值类型,不需要堆的分配

在结构的声明当中,不能够堆实例变量初始化,const,static字段除外

结构当中可以声明带参数的构造函数

为结构当中的数据成员的初始化通过new创建结构的实例

符号常量const

在声明的时候必须初始化

public const int months=12;

u  U:uint,ulong

l,,L:long,ulong

ul:ulog

f...F:float

d...D:double

m...M:decimal

一个字符的长度式16为,字符类型的类型标识符式char,单引号括起来的一个字符,字符常数。

C#提供了转义符,和c语言相同的

逐字字符串:@开头,在之后的一对双引号当中,包含的式unicode字符,不存在转义字符的概念

局部变量:隐士类型var声明,

var i=10;

var声明的变量必须式局部变量,声明的时候必须初始化

条件表达式:

y=x>=0?x:-x;

new T[...]数组创建new T(...)对象和委托创建x--

x is T

x属于t类型,返回true,否则返回false

x as T:返回转换为类型T的x,如果x不是T则返回

移位运算<<,,>>

Console.Write("请输入abc=’‘);

string[]intSS=inS.Split('');

double a=Convert.ToDouble(inSS[0]);

double b=Convert.ToDOuble(intSS[1]);

doub;e c=Convert.ToDouble(intSS[2]);

if(a+b>c&&a+c>b&&b+c>a)

{

double s=(a+b+c)/2;

double area=Math.Sqrt(s(s-a)*(s-b)*(s-c));

Console.WriteLine("area={0:f3}",area);

}

else{
Console.WriteLIne("输入的数据错误");

}

大小写转换

Console.Write("请输入一个字母");

char ch=Convert.ToChar(Console.Read());

if(ch>='A'&&ch<='Z')

ch=(char)(ch-'A'+'a');

Console.WriteLine("将大写转成小写后,该字母是{0}",ch);

判断一个四位数字是不是回文数

staticvoid main(String[]args){

Console.Write("请输入一个四位数子");

int n=Convert.ToInt32(Console.ReadLine());

int d1=n/1000;

int d2=n/100%10;

inr d3=n/10%10;

int d4=n%10;

if(d1==d2&&d2==d3)

Console.WriteLine("是回文数");

else{
Console.WriteLIne("不是回文数");

}

你可能感兴趣的:(C#数据类型,引用类型,数值类型)