一:变量
定义:在程序运行中随时可以发生变化的量
变量声明:变量的声明只能以数字,字母,下划线,且字母不能开头,同时不能是C#中的关键字。
变量使用:变量必须先声明才能使用,变量赋值必须是对应类型,int age=true;这样就会报错。
二:常量
定义:在程序的生存期内不发生更改的不可变值
常量声明:const关键字 public const int age=10; age在程序内不会变,值一直是10;
三:内置数据类型(数值类型和非数值类型)
数值类型:分为整型和非整型
整型如下图:
非整型如下图:
非数值类型
非数值类型:char和bool
引用类型 string
不可变性:如下
string a="h";
a+=“ello";
Console.WriteLine(a);
结果: hello
变量a的值仍然存的是h,编译器会创建一个新的对象来保存hello从而输出。
string的==
static void Main(String[] args)
{
string a="h";
a+="hello";
string b="hello";
Console.WriteLine(a==b);
Console.WriteLine((Object)a==(Object)b);
}
结果:true false 第一个true是因为比较的变量的值,第二个false是因为比较的对象 第一个对象仍然指的h,而不是hello,string不可变!。
四:运算符
算术运算符: +(相加),-(相减),*(相乘),/(相除),%(取余数),++(操作数加1),--(操作数减1)
比较运算符: >(大于), <(小于), >=(大于或者等于), <=(小于或者等于), ==(相等), !=(不相等)
逻辑运算符:&&(逻辑与), ||(逻辑或), !(逻辑或), ()(转成指定类型)
条件运算符:?:也叫三元运算符 如 10>9? "true" : "false" 结果为true.条件为true结果为第一个,反之为第二个。
其他运算符:+=,-=,*=,/=,%=,
运算符的优先级如图:
五:类型转换
隐式转换:适用于较小整数转换成较大整数类型,或者派生类转换成基类,不易丢失数据 如 int i=10; long a=i;
显式转换(强制转换):一种类型的值转换成大小相等或更大的另一种类型值,易丢失数据 float a=10.1234 ;int i=(int) a; 输出 i 为10.
程序类转换:如Convert,Parse。用Convert类或者Parse转换要保证被转换的数值确实可以转换成对应的类型否则会报错。string a ="2016-02-16"; DateTime dt = DateTime.Parse(a);
自定义转换
--