1、当一个精度高的数据类型与一个精度低的数据类型进行运算时,定义运算结果的变量类型必须与精度最高的变量类型相同。这是为了防止在运算过程中造成数据丢失。如下:
double a = 42.29;
int b = 4229;
int c = a + b;
Console.WriteLine("c = {0}",c);
Console.ReadKey();
上面这种编程方法是错误的,会出现错误提示:
"无法将类型'double'隐式转换为'int'。"
正确代码应如下:
double a = 42.29;
int b = 4229;
double c = a + b;
Console.WriteLine("c = {0}",c);
Console.ReadKey();
能输出运算结果:c = 4271.29
2、
关于静态变量
在 C# 中没有全局变量的概念,所有变量必须由该类的实例进行操作,这样做提升了安全性,但是在某些情况下却显得力不从心。因此,我们在保存一些类的公共信息时,就会使用静态变量。
static <data_type> <variable_name> = value;
在变量之前加上 static 关键字,即可声明为静态变量。
3、
方法的局部变量必须在代码中显式初始化,之后才能在语句中使用它们的值。此时,初始化不是在声明该变量时进行的,但编译器会通过方法检查所有可能的路径,如果检测到局部变量在初始化之前就使用了它的值,就会产生错误。例如:
public static int Main(){
int d;
Console.WriteLine(d);
}
在这段代码中,演示了如何定义 Main(),使之返回一个 int 类型的数据,而不是 void。但在编译这些代码时,会得到下面的错误消息:
Use of unassigned local variable 'd'
正确的做法是初始化它 int d = 0 或者其他值。