java程序员学C#基本语法两个小时搞定(对比学习)
对于学习一门新的语言,关键是学习新语言和以前掌握的语言的区别,但是也不要让以前语言的东西,固定了自己的思维模式,多看一下新的语言的编程思想。
1.引包
using System;java用import
2.构造函数和java语法相同
3.析构函数
变量和类的对象都有生命周期,生命周期结束,这些变量和对象就要被撤销。
类的对象被撤销时,将自动调用析构函数。一些善后工作可放在析构函数中完成。
析构函数的名字为~类名,无返回类型,也无参数。Person类的析构函数为~ Person()。
C#中类析构函数不能显示地被调用,它是被垃圾收集器撤销不被使用的对象时自动调用的。
4.C#数据类型
从大的方面来分,C#语言的数据类型可以分为三种:值类型,引用类型,指针类型,指针类型仅用于非安全代码中。
C#运行在CLR中,其中有垃圾自动回收器,和java类似
4.1值类型
简单类型:
--数值类型:整数类型、字符类型(char)、浮点数类型和十进制类型(decimal)
--布尔类型(bool)
(1)简单类型也是结构类型,因此有构造函数、数据成员、方法、属性等;
因此下列语句int i=int.MaxValue;string s=i.ToString()是正确的;
即使一个常量,C#也会生成结构类型的实例,因此也可以使用结构类型的方法,
例如:string s=13.ToString()是正确的。
(2)
保留字 | System命名空间中的名字 | 字节数 | 取值范围
sbyte System.Sbyte1 1 -128~127
byte System.Byte 1 0~255
short System.Int16 2 -32768~32767
ushort System.UInt16 2 0~65535
int System.Int32 4 -2147483648~2147483647
uint System.UInt32 4 0~4292967295
long System.Int64 8 -9223372036854775808~9223372036854775808
ulong System.UInt64 8 0~18446744073709551615
char System.Char 2 0~65535
float System.Single 4 3.4E-38~3.4E+38
double System.Double 8 1.7E-308~1.7E+308
bool System.Boolean (true,false)
decimal System.Decimal 16 ±1.0 × 10?28 to ±7.9 × 1028
(1)decimal类型用来表示高精度的浮点数,可以用到金融相关领域。
(2)浮点数都有精度损失问题,操作时注意下即可。
(3)字符类型采用Unicode字符集,一个Unicode标准字符长度为16位。
(4)整数类型不能隐式被转换为字符类型(char),和java不同,必须强转或者用Unicode表示
(5)布尔类型有两个值:false,true。不能认为整数0是false,其它值是true。
bool x=1是错误的,不存在这种写法,只能写成x=true 或x=false
结构类型(Struct types)
(1)结构类型和类一样,可以声明构造函数、数据成员、方法、属性等。
(2)结构和类的最根本的区别是结构是值类型,类是引用类型。
(3)和类不同,结构不能从另外一个结构或者类派生,本身也不能