C#的3个内置类型
//object string dynamic
// System.Object,System.String , System.dynamic(规定了在程序编辑阶段检查类型)
C#是强类型语言
分编译阶段和运行阶段
在编译阶段就检查类型错误
@字符的作用是让一段字符串@""在使用时候不被翻译成Unicode编码而是直接看成一段字符串
在C#里面 可以用var定义一个任意类型的成员 例如 var person = new Person(5);
在C#的class 类型里面可以定义成员变量的属性(这点是java没有的)
例如
class Person
{
int age;
public int Age
{
get{return age+=10;}
set{age=100;}
}
}
这样就比java访问private成员变量要定义一个get方法set方法,方便许多
关于C#的类型转换
通常我们在类型转换时
int i =1;
long l = i;
这叫隐式转换
通常用于小的类型范围转换为大的类型范围
double d = 10.05;
int e = (int)d;
这是显式转换
通常用于大得类型范围转换为小的类型范围
而C#还提供了 is as两个关键字
is用来判断两个变量类型是否相同
as用来转换类型,如果转换不了则返回false这样比较安全
int转string
string f = e.ToString();
string转int
int g = Covert.ToInt32("123");如果""里面不是数字则会抛出exception
int g2 = Int32.Parse("101");
int g3;
bool succeed = Int32.TryParse("102",out g3);
//object string dynamic
// System.Object,System.String , System.dynamic(规定了在程序编辑阶段检查类型)
C#是强类型语言
分编译阶段和运行阶段
在编译阶段就检查类型错误
@字符的作用是让一段字符串@""在使用时候不被翻译成Unicode编码而是直接看成一段字符串
在C#里面 可以用var定义一个任意类型的成员 例如 var person = new Person(5);
在C#的class 类型里面可以定义成员变量的属性(这点是java没有的)
例如
class Person
{
int age;
public int Age
{
get{return age+=10;}
set{age=100;}
}
}
这样就比java访问private成员变量要定义一个get方法set方法,方便许多
关于C#的类型转换
通常我们在类型转换时
int i =1;
long l = i;
这叫隐式转换
通常用于小的类型范围转换为大的类型范围
double d = 10.05;
int e = (int)d;
这是显式转换
通常用于大得类型范围转换为小的类型范围
而C#还提供了 is as两个关键字
is用来判断两个变量类型是否相同
as用来转换类型,如果转换不了则返回false这样比较安全
int转string
string f = e.ToString();
string转int
int g = Covert.ToInt32("123");如果""里面不是数字则会抛出exception
int g2 = Int32.Parse("101");
int g3;
bool succeed = Int32.TryParse("102",out g3);