一、C#概述

本文是网页版《C# 12.0 本质论》第一章解读。欲完整跟踪本系列文章,请关注并订阅我的Essential C# 12.0解读专栏

前言

第一章的内容非常简单,毕竟仅仅是Introducing C#。不过正如《0.前言》所述,《C# 12.0本质论》本身就不是一本零基础的书,也不像教材,材料的组织并非循序渐进。如果阅读这一章时感觉困难,就需要考虑换一本更浅显易懂的教材(比如本章最后推荐的《Pro C# 10 with .NET 6》)。

我一直秉承授人以鱼不如授人以渔的理念,重点不在于具体知识陈述,而在于学习资源的分享。所以,本文不对原书第一章内容做任何复述,而是重点介绍一组权威资料,让大家遇到问题时知道到哪里去找权威答案。

.NET架构

先借用一张图说明一下C#运行环境及.NET架构。这张图主要说了几个概念:

  1. C#源代码经过托管编译器(csc.exe)编译后,生成Managed Module;
  2. Managed Module包含了IL代码和元数据Metadata
  3. Managed Module执行的时候首先被加载器loader加载到内存,然后运行时编译器JIT再将IL代码编译成本机代码Native Code
  4. 最后,Execute Engine执行本机代码。

在这里插入图片描述

C#语法

国际规范

毫无疑问,微软是C#编程语言的开创者和领跑者,不过在微软推动下,C#早已被ECMA(欧洲计算机制造商协会:European Computer Manufacturers Association)、ISO(国际标准化组织:International Organization for Standardization)及IEC(国际电工委员会:International Electrotechnical Commission)纳入其规范。ECMA负责推动该规范的组织是ECMA C# standard committee (TC49-TG2),第一版规范是《ECMA-334:2003》,与之对应,ISO/IEC规范是《ISO/IEC 23270:2003》,该规范对应于微软的C#语言第一版(C#1.0)。

最新版的正式规范是《ECMA-334:2023》和《ECMA-334:2023》,对应于微软的C#7.0。

如今,ECMA正在起草C# 8规范,可以通过这里查看最新标准草案的更新情况。

标准有什么用?很多时候,我们学习一门语言并不需要通读C#标准,因为标准就如同一本康熙字典,谁都不愿意通过查字典方式来学习汉字。不过,身边有一本字典备用还是非常有用的,比如教科书中经常有如下所示的C#语法描述:

C#被编译时,编译器会将连续的空白字符合并成一个空
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值