开发环境
本实训以及之后的编程任务,需要一个开发环境。在线实训评测的编译环境,是使用运行在`linux`上的`mono`。在这里介绍一个`Windows`上的开发环境——`Microsoft Visual Studio`,以后的学习及编程主要是在`Windows`系统上完成。`Microsoft Visual Studio`简称`VS`,是美国微软公司开发工具包系列产品。具体选择的版本,推荐使用最新版本。
实训平台主要帮助学习理解知识点,自己还需大量的练习。在本地`Windows`系统上安装`VS`环境(自行选择版本),使用`VS`,新建项目`Visual C#`控制台应用程序。控制台应用程序是简单的命令行应用程序,易于演示`C#`语法;另外还有`Windows`窗体应用程序等其他项目,会涉及`Windows`程序用户界面,这需要掌握`C#`基本语法之后另行学习。新建项目完成后,具体的编码、编译、调试等步骤也不在此详述。
命名空间
`namespace`关键字,用于声明一个范围,在这个范围中包含一组相关的对象。你可以使用命名空间来组织代码元素和创建全局唯一类型。```
namespace myNamespace
{
class MyClass { }
interface MyInterface { }
struct MyStruct { }
enum MyEnum { a, b }
delegate void MyDelegate(int i);
namespace MyNamespace.Nested
{
class MyClass2 { }
}
}
```
*此段代码中包含`C#`中的一些结构,将会在之后的实训中逐一介绍,此处只需关注命名空间的使用方法。*
在一个命空间中,你可以声明一个或多个以下类型:
另一个`namespace`
`class`类
`interface`接口
`struct`结构
`enum`枚举
`delegate`委托
编译器会自动添加一个默认的命名空间,而不论你是否已经在`C#`源文件中声明命名空间。这个未命名的`namespace`,会存在于每一个文件中,有时被称作全局命名空间。全局命名空间的任何标识,在已命名的命名空间中都是可用的。
默认的命名空间使用`public`标志,表示它是公共访问,这点不容更改。'public'关键字是一个访问修饰符,定义访问权限,将在以后的实训中详细介绍。
下面的例子演示如何调用嵌套在命名空间的静态方法:
```
//第一个命名空间MyNameSpace
namespace MyNameSpace
{
public class MyClass
{
static void Main()
{
Nested.NestedClass.Hello();
}
}
//命名空间MyNameSpace中嵌套另一个命名空间Nested
namespace Nested
{
public class NestedClass
{
public static void Hello()
{
Console.WriteLine("Hello C#");
}
}
}
}
```
简单小程序
请看如下一段代码```C#
using System; //第一部分
namespace MyConsoleApplication{ //第二部分
class MyName//第三部分
{
static void Main(string[] args) //第四部分
{
Console.WriteLine("My name is Jackie Chan!"); //第五部分
}
}
}
```
这是一段非常简单的程序,但是麻雀虽小五脏俱全,总体上它涵盖了程序段的主要结构。
在一个命名空间中,声明了一个类;在一个类中定义了一个函数;函数最终输出结果。
`//`表示注释,用来向用户提示或解释程序的意义。程序编译时,不对注释作任何处理
第一部分:`using`
`using` 作为指令,导入其他命名空间中定义好的、所需要的类型。
第二部分:`namespace`
`namespace`,用于声明一个范围。此命名空间范围允许你组织代码并为你提供了创建全局唯一类型的方法。
此处定义了一个命名空间,叫作`MyConsoleApplication`
第三部分:类
类,是一种用户定义类型,类的实例化称为对象,每个类包含数据说明和一组操作数据或传递消息的函数。
类的详细使用方法将会在以后篇章展开。
此处定义了一个类,类名为`MyName`,类中包含了一个函数`Main`函数。
第四部分:函数
函数是一种方法,可提供在应用程序中任何一处执行的代码块。
函数的详细使用方法将会在以后篇章逐步展开。
`Main`函数是一种特殊的函数,是控制台应用程序执行的入口。
第五部分:执行代码
执行代码,是程序具体执行的详细内容。
`Console`类,表示控制台应用程序的标准输入流、输出流和错误流。
`WriteLine()`函数,将指定的字符串值(后跟当前行终止符)写入标准输出流。
基本语法:
```C#
Console.WriteLine(<语句>);
```
此处`<语句>`的值为字符串,需要用包含在`""`中。
示例
```C#
// 输出“To be or not to be, that is a question”
Console.WriteLine("To be or not to be, that is a question");
```