c#编程
要编译你的第一个C#应用程序,你需要在你的PC上安装.NET Framework SDK。
有两个可用的.NET框架:微软的和Mono的。
微软.NET
对于Windows,.NET Framework SDK可以从微软的.NET Framework开发者中心下载。如果默认的Windows目录(Windows或WinNT安装目录)是C:\WINDOWS,.NET Framework SDK安装程序会将Visual C# .NET编译器(csc)放在以下目录:
- 版本1.0:C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705
- 版本1.1:C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322
- 版本2.0:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
- 版本3.0:C:\WINDOWS\Microsoft.NET\Framework\v3.0
- 版本3.5:C:\WINDOWS\Microsoft.NET\Framework\v3.5
- 版本4.0:C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319
Mono
对于Windows、Linux或其他操作系统,可以从Mono网站下载安装程序。Mono的C#编译器叫做mcs。
Linux
在Linux上,你可以使用MonoDevelop IDE,并通过以下方式下载或安装:
- 通过他们的网站下载:MonoDevelop下载
- 或者通过apt-get或你所使用的发行版的安装器安装:
Debian基础的发行版:
sudo apt-get install monodevelop
Arch Linux:
sudo pacman -S mono monodevelop
Windows
你可以从Mono网站下载MonoDevelop。点击Windows图标并按照安装说明进行操作。
如果你在Windows上工作,建议将包含cs.exe或mcs.exe的文件夹路径添加到Path环境变量中,这样就不必每次都输入完整路径来编译。
编写C#代码的编辑器
有许多可用于编写C#代码的编辑器。虽然完全可以使用简单的文本编辑器编写C#程序,但需要注意的是,这要求你自己进行编译。微软提供了许多代码编辑程序,属于Visual Studio系列,这些程序提供了语法高亮、编译和调试功能。目前,C# .NET可以在Visual Studio 2002和2003中编译(仅支持.NET Framework版本1.0和1.1),以及在Visual Studio 2005中编译(支持.NET Framework 2.0及更早版本,但需要一些调整)。微软提供五个版本的Visual Studio,其中四个是商业销售的。Visual Studio C# Express Edition可以从微软网站免费下载并使用。
Hello, World!
下面的代码演示了如何用简单的文本编辑器编写C#程序。首先,将以下代码保存为一个名为hello.cs的文本文件:
using System;
namespace MyConsoleApplication
{
class MyFirstClass
{
static void Main(string[] args)
{
//不必使用"System",但如果你愿意也可以使用,因为你已经有了"using System;"
System.Console.WriteLine("Hello,");
Console.WriteLine("World!");
Console.ReadLine();
}
}
}
要编译hello.cs,请从命令行运行以下命令:
- 对于标准的微软.NET 2.0安装,首先进入包含源文件的目录,然后运行:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc.exe hello.cs
- 对于Mono,运行:
mcs hello.cs
- 对于cscc用户,运行:
cscc hello.cs -o hello.exe
这样会生成hello.exe。以下命令可以运行hello.exe:
- 在Windows上,使用
hello.exe
。 - 在Linux上,使用
mono hello.exe
或ilrun hello.exe
。
另外,在Visual C# Express中,你可以按F5或点击绿色播放按钮来运行代码。如果你想在不调试的情况下运行,按CTRL-F5。
运行hello.exe将产生以下输出:
Hello,
World!
程序将等待你按“Enter”键后返回命令提示符。
请注意,上面的示例通过using
关键字包含了System命名空间。这个包含允许你直接引用System命名空间的任何成员,而不必指定其完整的限定名称。
第一次调用Console
类的WriteLine
方法时,使用的是完全限定的引用:
System.Console.WriteLine("Hello,");
第二次调用该方法时,通过利用已经包含的System
命名空间,简化了对Console
类的引用:
Console.WriteLine("World!");
C#是一种完全面向对象的语言。接下来的章节将解释C#语言的语法,作为初学者的编程课程。需要注意的是,C#语言的强大之处在于.NET框架提供的类库,这些类库并不直接属于C#语言语法的一部分。