C#的语法看起来与Java的语法相似,因为两者都从C和C++继承了大量的语法。C#的面向对象特性要求C#程序的高层结构通过类来定义,而类的详细行为则由它们的语句来定义。

语句

在C#程序中,执行的基本单元是语句。一个语句可以声明一个变量、定义一个表达式、通过调用方法执行一个简单的动作、控制其他语句的执行流程、创建一个对象,或将一个值赋给变量、属性或字段。语句通常以分号结尾。

语句可以按顺序执行,也可以被组织在大括号包围的语句块中。

示例:

int sampleVariable;                           // 声明一个变量
sampleVariable = 5;                           // 赋值
Method();                                     // 调用实例方法
SampleClass sampleObject = new SampleClass(); // 创建一个类的实例
sampleObject.ObjectMethod();                  // 调用对象的成员函数

// 执行一个包含嵌入式“if”语句的“for”循环
for (int i = 0; i < upperLimit; i++)
{
    if (SampleClass.SampleStaticMethodReturningBoolean(i))
    {
        sum += sampleObject.SampleMethodReturningInteger(i);
    }
}

语句块

一系列由大括号包围的语句构成一个代码块。代码块除了用于组织代码外,还用于限制作用域,即变量可用的范围。一个变量只能在其定义的代码块内访问。代码块可以是嵌套的,并且通常作为方法的主体出现。

private void MyMethod(int integerValue)
{  // 这个代码块是"MyMethod()"方法的主体

   // 'integerValue' 整型参数在方法内的任何地方都可以访问

   int methodLevelVariable; // 该变量在方法的任何地方都可访问

   if (integerValue == 2)
   {
      // methodLevelVariable 仍然可以在此处访问     
  
      int limitedVariable; // 该变量仅对if块中的代码可见

      DoSomeWork(limitedVariable);
   }
   
   // limitedVariable 在这里不再可访问
    
}  // 这里是"MyMethod()"方法主体代码块的结束

注释

注释允许对源代码进行行内文档记录。C#编译器会忽略注释。C#支持以下几种注释样式:

单行注释

//字符序列将后续文本标记为单行注释。单行注释如同预期的一样,通常在//注释标记后的第一行结束。

多行注释

通过使用多行注释样式,可以使注释跨越多行。这类注释以/*开始,以*/结束。在这些多行注释标记之间的文本是注释内容。

// 这种注释样式限制为单行
/* 
   这是另一种注释样式。
   它允许跨越多行。
*/

XML文档注释

这些注释用于生成XML文档。可以使用单行或多行样式。单行样式(每行注释以///开头)比多行样式(以/***/包围)更常见。

/// <summary> 文档内容 </summary>
/// <remarks>
///     这是单行样式的XML文档注释。
/// </remarks>

/** 
 * <summary> 文档内容 </summary>
 * <remarks>
 *     这是多行样式的XML文档注释。
 * </remarks>
 */

大小写敏感

C#是大小写敏感的,包括变量和方法名称。

下面的myIntegerMyInteger是两个不同的变量,因为C#是大小写敏感的:

int myInteger = 3;
int MyInteger = 5;

例如,C#定义了一个Console类来处理与控制台窗口的大多数操作。如果你写下以下代码,除非事先定义了名为console的对象,否则编译器会报错。

// 编译错误!
console.writeline("Hello");

以下是修正后的代码,因为它使用了正确的大小写:

Console.WriteLine("Hello");
Last modified: Sunday, 12 January 2025, 12:50 AM