C# 简介

C# 语言被设计为一种高级面向对象的语言,它与通用语言基础结构相辅相成。设计团队的负责人是 Anders Hejlsberg(Turbo Pascal 和 Delphi 的创始人)、Scott Wiltamuth 和 Peter Golde。

乍一看,C# 与 Java 非常相似。虽然语法相似,但 C# 添加了 Java 中没有的几个特性。其中一些特性直接借用自 C++,例如运算符重载、用户定义的转换、真正的矩形数组和按引用传递。其他特性,如类、接口、结构、枚举以及更高级的委托和函数指针,则来自 C、C++ 和 Java 的混合。

尽管支持现代面向对象语言的关键概念,C# 还内置了对组件构造的支持,例如属性、方法、特性、事件和文档。这些大大简化了开发人员在编写组件时的工作,并更容易集成到 RAD 环境中。

熟悉 Java 的程序员会很容易理解这份 C# 简介。由于篇幅限制,经验丰富的面向对象程序员感兴趣的概念无法涉及。但是,“资源”部分包含指向更高级的 C# 语言主题讨论的链接。

为了开始我们的 C# 介绍,让我们看看著名的“hello world”程序

/*
   Code listing for hello.cs
*/

using System;

public class HelloWorld
{
   public static void Main()
   {
      for (int x=0; x<3; x++){
         // Console from the System namespace
         Console.WriteLine("Hello World");
      }
   }
}

所有程序都必须由类构成。

在程序的顶部,您会注意到一个注释块。C# 使用与 Java 和 C++ 相同的注释样式。多行注释使用开头/*和结尾*/。对于只跨越一行的注释,双斜杠 (//) 方法也是可以接受的。

在注释下方,没有像 C 和 C++ 中的头文件。 但是,有一个语句看起来类似于 Java 中的 import。“using”关键字在 C# 中用于声明命名空间,它基本上是类的集合。 通过声明命名空间,在调用库类时无需使用完整的正式名称。 在这种情况下,System 是我们声明的类库命名空间。 C# 是一种区分大小写的语言,因此“System”与“system”不同。 此外,与 Java 类似,所有语句都以分号结尾。

下一行开始最外层的类。 C# 允许每个文件包含多个类。 因此,文件名不需要像 Java 中那样与最外层类的名称匹配。 但是,文件名必须以 .cs 扩展名结尾。

HelloWorld 类的左大括号后的下一行是 Main() 方法。 每个程序都必须有一个 Main() 方法。 它充当程序的入口点。 与 C++ 和 Java 不同,Main() 采用大写形式。 在 main 方法的声明中,您还会看到 public static void。 Public 设置方法的可见性以及谁可以访问它(基本上是任何人)。 static 关键字允许在不首先创建 HelloWorld 类型的对象的情况下输入该方法。 最后,void 关键字声明该方法不返回值。 在 C# 中,Main() 方法可以不返回值 (void) 或 int。

Main() 方法内部是以下循环

for (int x=0; x<3; x++){
   // Console from the System namespace
   Console.WriteLine("Hello World");
}

for 循环的格式对于任何 C、C++ 或 Java 程序员来说都应该很熟悉。 for 循环的第一部分,int x=0,声明一个名为 x 的整数并将其设置为 0。此变量将用作循环计数器。循环的中间部分,x<3,是用于确定循环何时结束的逻辑测试。在这里,当 x 的值大于 3 时,测试将失败并且循环将退出。 for 循环的最后一部分是更新部分。与 C++ 类似,C# 允许后递增和递减。声明x++是简写形式x=x+1。每次循环迭代后,都会执行更新部分。在此示例中,循环将迭代三次。

C# 支持 while 循环、do/while 循环、for 循环和 foreach 循环。

在 for 循环内部,是对 Console.WriteLine() 方法的调用。 此方法的正式名称是 System.Console.WriteLine(),但由于我们声明我们正在使用 System 命名空间,因此我们可以省略 System 部分。 在长程序中,这可以节省大量的键入,但如果使用不慎,可能会难以理解正在使用哪个命名空间。 Console.WriteLine() 方法将文本输出到系统控制台。

示例代码末尾的花括号关闭循环、方法和类。

可以将代码清单另存为名为 hello.cs 的文本文件,并使用 Mono C# 编译器 mcs 进行编译。 运行生成的输出文件 hello.exe 会产生以下结果

[jdq@newton mono]$ mcs hello.cs
Compilation succeeded
[jdq@newton mono]$ mono hello.exe
Hello World
Hello World
Hello World

当然,C# 的内容远不止本简介中所述的这些。 “资源”部分列出了一些不错的 C# 教程。

© . All rights reserved.