------ 理论知识 -------
C# Hello World 实例
一个 C# 程序主要包括以下部分:
- 命名空间声明(Namespace declaration)
- 一个 class
- Class 方法
- Class 属性
- 一个 Main 方法
- 语句(Statements)& 表达式(Expressions)
- 注释
------ 代码知识 ------
一个程序可以包含多个命名空间。
一个命名空间声明中,可以包含多个类class。
一个类可以包含多个方法和属性(函数和数据)。
一个方法可以包含多个语句和表达式。
以下几点值得注意:
- C# 是大小写敏感的。
- 所有的语句和表达式必须以分号(;)结尾。
- 程序的执行从 Main 方法开始。
- 与 Java 不同的是,文件名可以不同于类的名称。
顺便给出具体写代码的一些结构。
一个解决方案可以包含多个项目,一个项目可以包含多个类,一个类可以包含多个属性和多个方法。
那么,为什么要将一行行的语句和表达式,一级一级分为这么多层级?
假设,代码只是一行行语句(连函数方法都没有),发现出现了很多重复的部分,这部分可以抽出来成为函数或方法,反复调用,减轻工作量,而且对代码的理解,从以一行代码为单位,提升到以一个函数方法为单位,直接理解函数方法实现了什么功能即可,开始隐藏细节。
在有方法的基础上,出现了面向对象的思想。面向对象,将一切抽象的或实际的对象,用代码来描述。一个对象,具备一些数据属性和行为,比如手机具有长宽高、内存容量的数据属性,行为是打电话、聊微信等等。于是,将数据属性和函数方法包含进对象中,进一步隐藏细节,对代码的理解,从方法功能,提升到以对象为单位。
在做小型项目时,类/对象的分层已经足够,项目变得更大,代码量增加,不仅仅是出于编程的需要,也是为了项目的管理,在类的基础上,进一步分为一个个项目/命名空间。把功能相似、功能相关的类,放在同一个项目中。比如,在“学校”的解决方案中,存在“学生”和“教师”,显然,学生和教师是独立存在的,可以设立“学校”项目-教师类、学生类。但学生可以分为小学生、初中生、高中生,三类,教师也可以对应地分为小学教师、初中教师、高中教师。(为什么要将学生分为三类,而不是用一个学生类的数据属性区分呢?因为小学生、初中生、高中生的数据属性和行为差别较大,比如小学生只有语数英三个学习行为,初中生和高中生还要学习政治生物地理历史化学物理,而且初中生和高中生又不同,高中生进一步文理分科。所以,不是同一类。当然,可以统统继承学生基类,派生小学生、初中生、高中生三个子类。)更改为:“学校”解决方案--教师项目、学生项目--小学、初中、高中教师类,小学、初中、高中学生类(当然也可以小学项目、初中项目、高中项目,然后进一步分类,看具体需要)。
------ 代码 ------
菜鸟教程给出的代码,可以在visual studio新建ConsoleApp控制台类型项目,来跑。
如果您使用 Visual Studio.Net 编译和执行 C# 程序,请按下面的步骤进行:
- 启动 Visual Studio。
- 在菜单栏上,选择 File -> New -> Project。
- 从模板中选择 Visual C#,然后选择 Windows。
- 选择 Console Application。
- 为您的项目制定一个名称,然后点击 OK 按钮。
- 新项目会出现在解决方案资源管理器(Solution Explorer)中。
- 在代码编辑器(Code Editor)中编写代码。
- 点击 Run 按钮或者按下 F5 键来运行程序。会出现一个命令提示符窗口(Command Prompt window),显示 Hello World。
您也可以使用命令行代替 Visual Studio IDE 来编译 C# 程序:
- 打开一个文本编辑器,添加上面提到的代码。
- 保存文件为 helloworld.cs。
- 打开命令提示符工具,定位到文件所保存的目录。
- 键入 csc helloworld.cs 并按下 enter 键来编译代码。
- 如果代码没有错误,命令提示符会进入下一行,并生成 helloworld.exe 可执行文件。
- 接下来,键入 helloworld 来执行程序。
- 您将看到 "Hello World" 打印在屏幕上。
using System;
namespace HelloWorldApplication
{
class HelloWorld
{
static void Main(string[] args)
{
/* 我的第一个 C# 程序*/
Console.WriteLine("Hello World");
Console.ReadKey();
}
}
}
using关键字用于在程序中包含System命名空间。
Main 方法,是所有 C# 程序的 入口点。Main 方法说明当执行时 类将做什么动作。
WriteLine 是一个定义在 System 命名空间中的 Console 类的一个方法。该语句会在屏幕上显示消息 "Hello, World!"。
- 最后一行 Console.ReadKey(); 是针对 VS.NET 用户的。这使得程序会等待一个按键的动作,防止程序从 Visual Studio .NET 启动时屏幕会快速运行并关闭。