aspx2008

记住该记住的,忘记该忘记的。改变能改变的,接受不能改变的!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

经典性“hello, world”程序

Posted on 2005-05-06 21:03  極速麻醉  阅读(963)  评论(0编辑  收藏  举报

经典性hello, world程序可以写为

using System;

class Hello

{

     static void Main() {

           Console.WriteLine("hello, world");

     }

}

C# 程序的源代码通常存储在一个或多个以 .cs 为文件扩展名的文本文件 hello.cs中。可以通过 Visual Studio .NET 所提供的命令行编译器,使用以下命令行指令来编译此程序:

csc hello.cs

它产生一个名为 hello.exe 的应用程序。当此应用程序运行时它产生的输出是

hello, world

仔细观察此程序可以发现

·          using System;指令引用一个名为 System 的命名空间它由 Microsoft .NET Framework 类库定义。此命名空间包含 Main 方法中引用的 Console 类。命名空间提供了一种分层方法来组织一个或多个程序中的各种元素。用“using”指令指定一个命名空间后,该命名空间中的所有成员均可直接被引用。所以hello, world程序中可直接使用 Console.WriteLine而不必使用 System.Console.WriteLine

·          Main 方法是 Hello 类的成员。它具有 static 修饰符,因此 Main 方法是相对于类 Hello 本身而不是相对于此类的实例。

·          应用程序的入口点(即当程序开始运行时首先被调用的方法)总是名为 Main 的静态方法。

·          hello, world输出依靠类库实现。C# 语言本身不提供类库它使用公共的类库Visual Basic .NET Visual C++ .NET 也使用它

C C++ 开发人员而言值得注意的是一些没有出现在hello, world程序中的东西。

·          该程序中的 Main 方法不是全局的。C# 不支持全局级别的方法和变量这类元素总是包含在类型声明如类声明和结构声明中。

·          该程序没有使用::运算符和->运算符。在 C# ,“::根本不是运算符->运算符仅在一小部分程序中使用即那些涉及不安全代码的程序 A 。分隔符“.”在复合名称中使用,如 Console.WriteLine

·          该程序没有包含前向声明。C# 中声明出现的顺序并不重要所以不需要作前向声明。

·          该程序没有使用 #include 导入程序文本。程序间的依赖项通过符号而不是文本来控制。这样就消除了由多种语言编写的应用程序之间的障碍。例如,Console 类不需要用 C# 编写。