C# 编程/语法
外观
C# 语法看起来与 Java 的语法非常相似,因为它们都从 C 和 C++ 中继承了大部分语法。C# 的面向对象特性要求 C# 程序的高级结构以类的形式定义,其详细行为由其语句定义。
C# 程序中执行的基本单位是语句。语句可以声明变量,定义表达式,通过调用方法执行简单操作,控制其他语句的执行流程,创建对象,或将值分配给变量,属性或字段。语句通常以分号结尾。
语句可以分组到以逗号分隔的语句列表或以大括号括起来的语句块中。
示例
int sampleVariable; // declaring a variable
sampleVariable = 5; // assigning a value
Method(); // calling an instance method
SampleClass sampleObject = new SampleClass(); // creating a new instance of a class
sampleObject.ObjectMethod(); // calling a member function of an object
// executing a "for" loop with an embedded "if" statement
for (int i = 0; i < upperLimit; i++)
{
if (SampleClass.SampleStaticMethodReturningBoolean(i))
{
sum += sampleObject.SampleMethodReturningInteger(i);
}
}
由大括号包围的一系列语句构成一个代码块。除其他目的外,代码块用于限制范围,即变量可以使用范围。变量仅在定义它的块中可访问。代码块可以嵌套,并且通常作为方法的主体出现。
private void MyMethod(int integerValue)
{ // This block of code is the body of "MyMethod()"
// The 'integerValue' integer parameter is accessible to everything in the method
int methodLevelVariable; // This variable is accessible to everything in the method
if (integerValue == 2)
{
// methodLevelVariable is still accessible here
int limitedVariable; // This variable is only accessible to code in the, if block
DoSomeWork(limitedVariable);
}
// limitedVariable is no longer accessible here
} // Here ends the code block for the body of "MyMethod()".
注释允许对源代码进行内联文档化。C# 编译器会忽略注释。以下注释风格在 C# 中是允许的。
- 单行注释
- 字符序列
//
将后续文本标记为单行注释。单行注释,顾名思义,在//
注释标记后的第一个行尾处结束。 - 多行注释
- 注释可以通过使用多行注释风格跨越多行。此类注释以
/*
开始,以*/
结束。这些多行注释标记之间的文本就是注释。
// This style of a comment is restricted to one line.
/*
This is another style of a comment.
It allows multiple lines.
*/
- XML 文档行注释
- 这些注释用于生成 XML 文档。可以使用单行和多行风格。单行风格,其中每行注释都以
///
开头,比以/**
和*/
分隔的多行风格更常见。
/// <summary> documentation here </summary>
/// <remarks>
/// This uses single-line style XML Documentation comments.
/// </remarks>
/**
* <summary> documentation here </summary>
* <remarks>
* This uses multiple-line style XML Documentation comments.
* </remarks>
*/
C# 是大小写敏感的,包括其变量和方法名称。
下面类型为int 的变量myInteger
和MyInteger
是不同的,因为 C# 是大小写敏感的。
int myInteger = 3;
int MyInteger = 5;
例如,C# 定义了一个类Console
来处理大多数与控制台窗口的操作。除非之前定义了一个名为console
的对象,否则编写以下代码会导致编译器错误。
// Compiler error!
console.writeline("Hello");
以下更正后的代码按预期编译,因为它使用了正确的大小写。
Console.WriteLine("Hello");