The Overview of ECMA C# Language Specialisation (1)

原创 2002年01月15日 21:30:00

The Overview of UCMA C# Language Spesication
8. Language Overview (语言概观)
    这个条款是扩展的资料。
    C# (读音为“C sharp”)是一种简朴、富有朝气的、面向对象和类型安全的编程语言,可以很快地被
C/C++程序员所接受。C#的目标是结合快速开发(RAD)语言的高效和C++强大功能。
    以下的几节会描述这门语言的基本特点。在后面的章节中将详细地,甚至是精确地介绍该语言的规则及其
他。本章将力求清晰简短的含盖所有的内容。使得读者有个初步地印象和更容易地阅读余下的章节。



8.1 开始
    用 C# 编写的规范的“Hello, world” 如下:


using System;
class Hello
{
 static void Main() {
  Console.WriteLine("Hello, world");
 }
}


C# 的源代码可以存放在用 .cs 作为扩展名的一个或多个文本文件中,比如本例的“hello.cs”。在命令行中
可以这样编译:


csc hello.cs


这个操作会产生一个hello.exe。输出的结果是:


hello, world


让我们从语法开始分析:


·using System;
直接引用由 Common Language Infrastructure (CLI) 提供的 System namespace。这个namespace包含在 Main
方法中所要用到的 Console 类。名字空间(namespace)提供了一种分层组织类库成员的方法。“using”解开
限制而可以使用 System 这个名字空间里的成员。程序中 Console.WriteLine 是 System.Console.WriteLine
缩写。System 是名字空间,Console 是 System 里定义的一个类,WriteLine是这个类的一个 static 方法。


·Main 函数是 Hello 类的一个成员。因为它有一个 static 的修饰符,所以它不存在于 Hello 的实体中,而
仅仅是在这个类的范围内。


·程序的进入点,即程序开始执行的地方,总是一个名字为 Main 静态的方法。


·“hello, world”使用了一个类库。但标准并没有对类库进行定义。实际上,程序引用由CLI提供的类库。
很有趣的是C/C++开发者会觉得有不少东西没有出现在“hello, world”程序中。


·程序中没有一个Main的全局方法。所有的方法和变量都不会出现在全局的范围内;而是永远包含在数据类型
的声明内(如类和结构的声明中)。


·程序中没有“::” 或“->”操作符。“::”不是 C# 的操作符,而“->”只用在一些特殊的场合(不安全代
码中)。C# 程序用“.”分割名字域,如 Console.WriteLine。


·在 C# 中无需先声明后使用,声明的次序已没有意义了。


·C# 不使用 #include 引入源代码,不再是文字上地而是抽象地引用。比如,Console 类可以不用是 C# 编写的。

The Overview of ECMA C# Language Specialisation (2)

8.2 类型C# 支持两种类型:值和引用。值类型包括简单的类型(如 char、int 和 float),枚举和结构。引用包括类,接口,代理和矩阵。值与引用的不同在于值的变量直接包含它的数据,而引用的变...
  • kamphkb
  • kamphkb
  • 2002年01月16日 09:47
  • 649

C#中修改Web Service的类名

      新建了一个Web Service应用程序后,默认会生产一个Service1.asmx,对于的类文件是Service1.cs。通常,我们希望将这个Service1改为更能表达我们意图的名字,...
  • scutLiu
  • scutLiu
  • 2011年01月20日 18:02
  • 5726

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="EmptyProjectNe

web 服务器程序 CodeBehind 是html 对应后台代码的文件名 Inherits 是后台文件的的命名空间 实现前台代码和后台代码的关联 命名空间是为了防止变量名重名...
  • u010673842
  • u010673842
  • 2017年04月30日 23:35
  • 1009

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="default.aspx.cs" Inherits="_Default" %>

来源:Advance Of The Face - 博客园   <%@ Page Language="C#" AutoEventWireup="true" CodeFile="default.aspx...
  • A_post
  • A_post
  • 2012年03月15日 14:21
  • 2601

AngularJS 风谲云诡的指令

学习要点: 定义复杂的指令 指令模板 使用函数作为模板 使用外部模板 动态引入外部模板 替换元素 管理指令的作用域 创建多个控制器 给每个指令实...
  • super_yang_android
  • super_yang_android
  • 2016年06月12日 00:06
  • 4436

从C#中移植CRC64(ECMA-182)的实现到 MySQL 存储过程

CRC64(ECMA-182规范), 查表法在C#中的实现如下:public static class CRC64 { private static readonly UInt64[] s_C...
  • wangjia184
  • wangjia184
  • 2013年04月10日 18:52
  • 5021

aspx头部代码<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ceshi.aspx.cs" Inherits="SM_ceshi" %

添加web窗体 vs自动创建两个文件ceshi.aspx/ceshi.cs using System; usi...
  • lengyue1084
  • lengyue1084
  • 2017年06月19日 15:56
  • 253

8. Language Overview

This clause is informative.C# (pronounced .C Sharp.) is a simple, modern, object oriented, and type-...
  • masterall
  • masterall
  • 2005年11月27日 21:07
  • 570

ECMAScript6标准Symbol类型的使用

1 概述 ES5的对象属性名都是字符串,这容易造成属性名的冲突。比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin模式),新方法的名字就有可能与现有方法产生冲突。如果有一种机制...
  • jasonzds
  • jasonzds
  • 2016年11月01日 10:49
  • 377

H Language Overview

+...
  • perfectlife_2009
  • perfectlife_2009
  • 2013年07月03日 13:31
  • 793
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:The Overview of ECMA C# Language Specialisation (1)
举报原因:
原因补充:

(最多只允许输入30个字)