栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

C# 6.0本质论(C#概述)

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C# 6.0本质论(C#概述)

C#
  • 一、C#概述
    • 1.1 编译
      • 1.1.1 源代码文件
      • 1.1.2 编译
    • 1.2 C#语法基础
      • 1.2.1 关键字
      • 1.2.2 标识符
        • 1.2.2.1 作用
        • 1.2.2.2 大小写风格
        • 1.2.2.3 @关键字
      • 1.2.3 Main
      • 1.2.4 空白
      • 1.2.5 命名规范
    • 1.3 注释
    • 1.4 应用程序接口
    • 1.5 语言结构-CLI
      • 1.5.1 公共中间语言
      • 1.5.2 公共语言基础结构
    • 1.6 C#和.net版本
    • 1.7 CIL和ILDASM

一、C#概述 1.1 编译 1.1.1 源代码文件
  • 拓展名
    • C#编译器可以允许为C#源代码文件使用任何文件拓展名,但一般使用.cs
  • 文件名
    • 文件名和类名可以不一致
      • 一个文件包含多个类
      • 一个类拆分到多个文件中
1.1.2 编译
  • 编译命令
    • 取决于C#编译器的实现,没有标准规定
  • 输出
    • 程序集 assembly
      • 可执行的应用程序文件 .exe
        • 与WIN32可执行程序完全不同
        • 需要依赖CLR才能运行
      • 库 .dll
        • 可以由另一个较大的程序引用的代码库
        • dynamic link library 动态链接库
1.2 C#语法基础 1.2.1 关键字
  • 编译器利用关键字来识别代码的结构和组织方式
  • 关键字提供了具体的语法
1.2.2 标识符 1.2.2.1 作用
  • 标识程序员编写代码的构造
  • 通过标识符可以引用所标识的构造
1.2.2.2 大小写风格
  • Pascal大小写
    • 每个单词的首字母大写
  • 驼峰大小写
    • 第一个字母小写,其他每个单词的首字母大写
1.2.2.3 @关键字
  • 关键字附加 ‘@’ 前缀可作为标识符使用
1.2.3 Main
  • C#程序从Main方法开始执行
  • 关键字static和方法名Main始终是程序必需的
    • static:启动程序的控制台不需要实例化类
  • 返回值类型可以是void或者int
    • int:非零表示程序执行出错
  • 要么不带参数,要么接收一个字符串数组作为参数
    • 接收命令行参数
1.2.4 空白
  • 空白
    一个或多个连续的格式字符(如制表符、空格和换行符)
  • 分号使C#编译器能忽略代码中的空白
  • 空白可以增强代码可读性
1.2.5 命名规范
  • 类名、方法名、属性
    • 使用Pascal大小写风格
  • 局部变量名
    • 驼峰大小写风格
1.3 注释
  • 带分隔符的注释
  • 单行注释
  • XML带分隔符的注释
    • 编译器会将注释放到单独的文本文件中
  • XML单行注释
    • ///
1.4 应用程序接口
  • 一种数据类型的所有方法定义了这种类型的应用程序接口
  • 一个程序集包含的所有类型构成这个程序集的API
1.5 语言结构-CLI 1.5.1 公共中间语言
  • CIL(Common Intermediate Language)
    • 处理器不能直接解释程序集,处理器只能理解机器码
    • 程序集使用的是公共中间语言
  • 虚拟执行系统或运行时 VES(Virtual Execution System)
    • 即时编译JIT(Just-in-time compilation) 成机器码
    • 内存分配
    • 安全性
  • 不需要运行时的代码称为非托管代码或本地代码
1.5.2 公共语言基础结构
  • CLI(Common Language Infrastructure):
    • VES
    • CIL
    • CTS(Common Type System)公共类型系统
      • 为语言互操作性提供支持的类型系统
    • CLS(Common Language Specification)公共语言规范
      • 编写公共语言能访问的库的指导原则
    • 元数据
      • 描述数据的数据,使服务能被CLI识别
        • 程序和类库中数据类型的描述
        • 清单信息,包括与程序有关的数据以及依赖的库
        • 嵌入代码中的自定义特性,提供与特性所修饰的构造有关的信息
    • BCL(Base Class Library)基类库
      • 公共编程框架
  • CLI的功能
    • 语言互操作性
    • 类型安全
    • 代码访问安全性
    • 垃圾回收
    • 平台可移植性
    • BCL
      • 大型代码库,开发者不需要编写相应代码而直接使用其功能
1.6 C#和.net版本

1.7 CIL和ILDASM
  • ILDASM(IL Disassembler)
    • 将程序集(dll或exe)反汇编生成CIL代码
  • 可以将CIL反编译成C#
    • Red Gate Reflector
    • ILSpy
    • JustDecompile
    • dotPeek
    • CodeReflect
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/911292.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号