C# 是一个现代的、通用的、面向对象的编程语言,它是由微软(Microsoft)开发的,由 Ecma 和 ISO 核准认可的。
C# 是由 Anders Hejlsberg 和他的团队在 .Net 框架开发期间开发的。
C# 是专为公共语言基础结构(CLI)设计的。CLI 由可执行代码和运行时环境组成,允许在不同的计算机平台和体系结构上使用各种高级语言。
下面列出了 C# 成为一种广泛应用的专业语言的原因:
-
现代的、通用的编程语言。
-
面向对象。
-
面向组件。
-
容易学习。
-
结构化语言。
-
它产生高效率的程序。
-
它可以在多种计算机平台上编译。
-
.Net 框架的一部分。
C# 强大的编程功能
虽然 C# 的构想十分接近于传统高级语言 C 和 C++,是一门面向对象的编程语言,但是它与 Java 非常相似,有许多强大的编程功能,因此得到广大程序员的青睐。
下面列出 C# 一些重要的功能:
-
布尔条件(Boolean Conditions)
-
自动垃圾回收(Automatic Garbage Collection)
-
标准库(Standard Library)
-
组件版本(Assembly Versioning)
-
属性(Properties)和事件(Events)
-
委托(Delegates)和事件管理(Events Management)
-
易于使用的泛型(Generics)
-
索引器(Indexers)
-
条件编译(Conditional Compilation)
-
简单的多线程(Multithreading)
-
LINQ 和 Lambda 表达式
-
集成 Windows
C# 环境
在这一章中,我们将讨论创建 C# 编程所需的工具。我们已经提到 C# 是 .Net 框架的一部分,且用于编写 .Net 应用程序。因此,在讨论运行 C# 程序的可用工具之前,让我们先了解一下 C# 与 .Net 框架之间的关系。
.Net 框架(.Net Framework)
.Net 框架是一个创新的平台,能帮您编写出下面类型的应用程序:
-
Windows 应用程序
-
Web 应用程序
-
Web 服务
.Net 框架应用程序是多平台的应用程序。框架的设计方式使它适用于下列各种语言:C#、C++、Visual Basic、Jscript、COBOL 等等。所有这些语言可以访问框架,彼此之间也可以互相交互。
.Net 框架由一个巨大的代码库组成,用于 C# 等客户端语言。下面列出一些 .Net 框架的组件:
-
公共语言运行库(Common Language Runtime - CLR)
-
.Net 框架类库(.Net Framework Class Library)
-
公共语言规范(Common Language Specification)
-
通用类型系统(Common Type System)
-
元数据(Metadata)和组件(Assemblies)
-
Windows 窗体(Windows Forms)
-
Windows 工作流基础(Windows Workflow Foundation - WF)
-
Windows 显示基础(Windows Presentation Foundation)
-
Windows 通信基础(Windows Communication Foundation - WCF)
-
LINQ
C# 的集成开发环境(Integrated Development Environment - IDE)
微软(Microsoft)提供了下列用于 C# 编程的开发工具:
-
Visual Studio 2010 (VS)
-
Visual C# 2010 Express (VCE)
-
Visual Web Developer
后面两个是免费使用的,可从微软官方网址下载。使用这些工具,您可以编写各种 C# 程序,从简单的命令行应用程序到更复杂的应用程序。您也可以使用基本的文本编辑器(比如 Notepad)编写 C# 源代码文件,并使用命令行编译器(.NET 框架的一部分)编译代码为组件。
Visual C# Express 和 Visual Web Developer Express 版本是 Visual Studio 的定制版本,且具有相同的外观和感观。它们保留 Visual Studio 的大部分功能。在本教程中,我们使用的是 Visual C# 2010 Express。
在 Linux 或 Mac OS 上编写 C# 程序
虽然 .NET 框架是运行在 Windows 操作系统上,但是也有一些运行于其它操作系统上的版本可供选择。Mono 是 .NET 框架的一个开源版本,它包含了一个 C# 编译器,且可运行于多种操作系统上,比如各种版本的 Linux 和 Mac OS。如需了解更多详情,请访问 Go Mono。
Mono 的目的不仅仅是跨平台地运行微软 .NET 应用程序,而且也为 Linux 开发者提供了更好的开发工具。Mono 可运行在多种操作系统上,包括 Android、BSD、iOS、Linux、OS X、Windows、Solaris 和 UNIX。
C# 程序结构
C# Hello World 实例
一个 C# 程序主要包括以下部分:
-
命名空间声明(Namespace declaration)
-
一个 class
-
Class 方法
-
Class 属性
-
一个 Main 方法
-
语句(Statements)& 表达式(Expressions)
-
注释
C# 文件的后缀为 .cs。
以下创建一个 test.cs 文件,文件包含了可以打印出 "Hello World" 的简单代码:
using System;
namespace HelloWorldApplication
{
class HelloWorld
{
static void Main(string[] args)
{
/* 我的第一个 C# 程序*/
Console.WriteLine("Hello World");
Console.ReadKey();
}
}
}
当上面的代码被编译和执行时,它会产生下列结果:
Hello World
让我们看一下上面程序的各个部分:
-
程序的第一行 using System; - using 关键字用于在程序中包含 System 命名空间。 一个程序一般有多个 using 语句。
-
下一行是 namespace 声明。一个 namespace 里包含了一系列的类。HelloWorldApplication 命名空间包含了类 HelloWorld。
-
下一行是 class 声明。类 HelloWorld 包含了程序使用的数据和方法声明。类一般包含多个方法。方法定义了类的行为。在这里,HelloWorld 类只有一个 Main 方法。
-
下一行定义了 Main 方法,是所有 C# 程序的 入口点。Main 方法说明当执行时 类将做什么动作。
-
下一行 /*...*/ 将会被编译器忽略,且它会在程序中添加额外的 注释。
-
Main 方法通过语句 Console.WriteLine("Hello World"); 指定了它的行为。
WriteLine 是一个定义在 System 命名空间中的 Console 类的一个方法。该语句会在屏幕上显示消息 "Hello World"。
-
最后一行 Console.ReadKey(); 是针对 VS.NET 用户的。这使得程序会等待一个按键的动作,防止程序从 Visual Studio .NET 启动时屏幕会快速运行并关闭。
以下几点值得注意:
-
C# 是大小写敏感的。
-
所有的语句和表达式必须以分号(;)结尾。
-
程序的执行从 Main 方法开始。
-
与 Java 不同的是,文件名可以不同于类的名称。
编译 & 执行 C# 程序
如果您使用 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" 打印在屏幕上。
笔记:
若提示无法识别 csc 命令,需配置环境变量(Window10)
找到桌面上的“计算机”图标,右键单击,并在弹出的菜单中点击 “属性” --"高级系统设置"--"环境变量"--"系统变量",找到变量 Path, 添加一个路径 ;C:\Windows\Microsoft.NET\Framework\v2.0.50727\(注意,多个路径使用分号(;)隔开,Windows其他版本追加在后面即可)。
文章评论