首页 > 代码库 > C#基础语法(一)

C#基础语法(一)

一.基础语法

  1.C#区分大小写,所以myVar和MyVar是两个不同的变量。
  2.每个C#可执行文件(如控制台应用程序,Windows应用程序和Windows服务)都必须有一个入口点————Main()(M大写)
  public static void Main()
  {
  //do something
  }
  在程序启动时调用这个方法。该方法要么没有返回值(void),要么返回一个整数(int)


二.变量

  1.编译器不允许在表达式中使用未初始化的变量。如果变量是类或结构中的字段,如果没有初始化,创建这些变量时,其默认值就是0。
  2.类型推断
  类型推断(type inference)使用var关键字。编译器可以根据变量的初始化值“推断”变量的类型。var somenum = 0;
  即使somenum从来没有声明为int,编译器也可以确定,只要somenum在其作用域内,就是一个int.
  声明了变量,推断出了类型后,就不能改变变量类型了。变量的类型确定后,就遵循其它变量类型遵循的强类型化规则。
  3.变量的作用域
  变量的作用域是访问该变量的代码区域。只要变量的作用域是程序的不同部分就不会有问题。
  (1).局部变量的作用域冲突
  public static int Main()
  {
  int j =20;
  for(int i=0;i<20;i++)
  {
  int j = 30;
  // do something
  }
  }
  编译时会报错,因为在Main()方法作用域内有两个变量j,编译器无法区分这两个变量。

  (2).字段和局部变量的作用域冲突
  某些情况下可以区分名称相同,作用域相同的两个标识符。原因是C#在变量之间有一个基本的区分,它把在类级别声明的变量看作
  字段,而把在方法中声明的变量看作局部变量。
  class Program
  {
  int j = 20;
  static void Main(string[] args)
  {
    int j = 30;
    Console.WriteLine(j);
    Console.ReadKey();
  }
  }
  虽然在Main()方法的作用域内声明了两个j,这段代码也会编译。在类级别上定义的j,在该类删除前是不会超出作用域的,在
  Main()中声明的j隐藏了同名的类级别变量,所以运行代码时会显示30.

三.常量
  顾名思义,常量是其值在使用过程中不会发生改变的变量。在声明和初始化变量时,在变量的前面加上关键字const,就可以把该变量指定
  为一个常量:const int a =100;

  常量的特点;
  *常量必须在声明时初始化。指定了值之后就不能改写了。
  *常量的值必须能在编译时用于计算。因此不能用于从一个变量中提取的值来初始化常量。如果需要,应使用只读字段(后面介绍)。
  *常量总是静态的。但注意,不必(实际上不允许)在常量声明中包含static

  使用常量的好处:
  *由于使用易于读取的名称(名称的值易于理解)代替了较难读取的数字或字符串,常量使程序变得更易于阅读。
  *常量使程序易于修改。当常量的值需要修改时,只需要把新值赋给这个常量,不必查找整个程序去修改。
  *常量更容易避免程序出现错误。如果在声明常量的位置以外的地方给常量赋值,编译器会报错。

 

 

博客编写中可能存在错误,欢迎读者指正批评,邮箱15734108350@163.com.

C#基础语法(一)