赞
踩
.NET(读作“dot net”)是Microsoft推出的用于软件开发、运行的平台,可以实现跨平台、跨语言开发,支持C#、F#、Visual Basic等语言。
.NET Framework是名为公共语言运行时(Common Language Runtime,CLR)的虚执行系统和一组类库。CLR是对公共语言基础结构(Common Language Infrastructure,CLI)国际标准的实现。CLI是创建执行和开发环境的基础,语言和库可以在其中协同工作。
C#(读作“C Sharp”)是Microsoft推出的,由C和C++衍生出的,安全、稳定、简单、优雅的面向对象且运行于.NET Framework和.NET Core之上的高级程序编程语言,于2000年6月发布。它在继承C和C++强大功能的同时去掉了一些复杂特性如多重继承、内存管理,并提供了大量API以显著提高开发效率。
C#源代码(.cs文件) 并不直接编译成能在操作系统执行的二进制本地代码,而是被编译成符合CLI规范的中间语言(Intermediate Language,IL),然后由CLR执行。IL代码和资源(如位图和字符串)存储在扩展名为.dll或.exe的程序集中。由于程序集是包含代码和元数据的子描述功能单元,因此C#不需要显示引用头文件。
执行C#程序时,程序集将加载到CLR。CLR会直接执行实时编译(Just In Time,JIT),将IL代码转换成二进制机器码。CLR可提供其他与自动垃圾回收、异常处理和资源管理相关的服务。CLR执行的代码有时称为“托管代码”,而“非托管代码”被编译成面向特定平台的本机语言。
C#编译器生成的IL代码符合通用类型系统(Common Type System,CTS)。通过C#生成的IL代码可以与通过.NET版本的F#、Visual Basic、C++生成的代码进行交互。
按照惯例,使用“Hello World”实现第一个C#程序,代码如下:
// 引用命名空间 using System; // 自定义命名空间 namespace MyCode { // 自定义类 class Hello { // Main入口函数 static void Main() { // 控制台打印“Hello World” Console.WriteLine("Hello World"); } } }
其中:
using System;
:通过using
指令引用名为System
的命名空间。namespace MyCode
:通过namespace
关键字声明命名空间MyCode
,此命名空间包含了Hello
类。class Hello
:使用class
关键字声明Hello
类,该类只包含一个Main
方法。static void Main()
:方法成员Main()
是一个 static
(静态)的、无参、返回值为void
(空)、只包含一个语句的方法。Console.WriteLine("Hello World");
:调用了Console
类的WriteLine()
方法,在控制台打印参数“Hello World”。Console
是命名空间System
中的一个类,提供了控制台相关的API,因此在代码开头要引用System
。命名空间提供了一种用于组织C#程序和库的分层方法,用于组织、管理、重用重名的类型和方法。使用namespace
关键字声明命名空间,用{}
包裹其下的内容(各种类型与其他命名空间,命名空间可以嵌套,通过.
引用多层命名空间)。
在代码中使用其他命名空间的类型时需要显示指明命名空间。
System.Console.WriteLine("Hello World");
借助引用给定命名空间的using
指令,可以简化调用,即允许非限定的方式使用相应命名空间的成员。
using System;
Console.WriteLine("Hello World");
此外,可以使用using
重命名相关命名空间的类型。
using SConsole = System.Console;
SConsole.WriteLine("Hello World");
按照约定,C#程序的入口是名为Main()
的静态方法(库和服务不要求)。Main()
在类或结构中声明,必须是static
(封闭类或结构不一定要是静态的),不需要是public
。
程序操作使用语句进行表示,每个语句由;
结尾。使用{}
包裹的语句称为语句块,可以包含一个或多个语句。
标识符是分配给类型、成员、变量、命名空间或任何其它用户定义的项目的名称。有效标识符必须以字母或下划线_
开头,并使用Unicode字符,不能包含任何嵌入的空格或符号。C#是大小写敏感的,标识符必须区分大小写。
通常,标识符不能是C#关键字或保留关键字。使用前缀@
允许将C#关键字用作为标识符,即逐字标识符,用于与其他语言交互。
标识符命名有以下约定:
_
,这些名称将保留给编译器生成的标识符。注释是用于解释代码。优秀的程序员能够在适当的地方进行合适的注释,以提高代码可读性。编译器会忽略注释的条目。
C#中注释有:
//
开头至行的末尾。/*
开头并*/
结尾。///
和XML标签包裹,可以在非定义处查看对该成员的注释,亦是文档生成器的标记。// 这是单行注释
/* 这是
* 多
* 行
* 注
* 释
*/
/// <summary>
/// Hello是一个自定义类
/// </summary>
class Hello { }
注释有以下约定:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。