Contents C#文档 入门 简介 类型 程序构建基块 主要语言区域 教程 选择你的第一课 基于浏览器的教程 Hello world C#中的数字 分支和循环 列表集合 在本地环境中工作 设置你的环境 C#中的数字 分支和循环 列表集合 C#中的新增功能 C#90 C#8.0 C#7.0-7.3 编译器的重大更改 C#版本历史记录 与NET库的关系 版本兼容性 教程 浏览记录类型 探索顶级语句
Contents C# 文档 入门 简介 类型 程序构建基块 主要语言区域 教程 选择你的第一课 基于浏览器的教程 Hello world C# 中的数字 分支和循环 列表集合 在本地环境中工作 设置你的环境 C# 中的数字 分支和循环 列表集合 C# 中的新增功能 C# 9.0 C# 8.0 C# 7.0-7.3 编译器的重大更改 C# 版本历史记录 与 .NET 库的关系 版本兼容性 教程 浏览记录类型 探索顶级语句
探索对象中的模式 使用默认接口方法安全地更新接口 用默认接口方法创建 mixin功能 探索索引和范围 使用可为空引用类型 将应用升级为可为空引用类型 生成和使用异步流 教程 类简介 面向对象的编程 探索字符串內插-交互式 探索字符串内插-在环境中 字符串内插的高级方案 控制台应用程序 REST客户端 C#和NET中的继承 使用L|NQ 使用特性 使用模式匹配生成数据驱动的算法 C#概念 C#类型系统 可为空引用类型 选择用于唇用可为空引用类型的策略 命名空间 基本类型 类 析构元组和其他类型 接口 方法 属性 索引器 弃元
探索对象中的模式 使用默认接口方法安全地更新接口 用默认接口方法创建 mixin 功能 探索索引和范围 使用可为空引用类型 将应用升级为可为空引用类型 生成和使用异步流 教程 类简介 面向对象的编程 探索字符串内插 - 交互式 探索字符串内插 - 在环境中 字符串内插的高级方案 控制台应用程序 REST 客户端 C# 和 .NET 中的继承 使用 LINQ 使用特性 使用模式匹配生成数据驱动的算法 C# 概念 C# 类型系统 可为空引用类型 选择用于启用可为空引用类型的策略 命名空间 基本类型 类 析构元组和其他类型 接口 方法 属性 索引器 弃元
泛型 迭代器 委托和事件 委托简介 System. Delegate和 delegate关键字 强类型委托 委托的常见模式 事件简介 标准、NET事件模式 已更新的NET事件模式 区别委托和事件 语言集成查询(L|NQ) LINQ概述 查询表达式基础 C#中的LNQ 在C#中编写LNQ查询 查询对象的集合 从方法中返回查询 在内存中存储查询结果 对查询结果进行分组 创建嵌套组 对分组操作执行子查询 按连续键对结果进行分组 在运行时动态指定谓词筛选器 执行内部联接 执行分组联接 执行左外部联接 对join子句的结果进行排序 使用组合键进行联接 执行自定义联接操作 在查询表达式中处理nu值 在查询表达式中处理异常
泛型 迭代器 委托和事件 委托简介 System.Delegate 和 delegate 关键字 强类型委托 委托的常见模式 事件简介 标准 .NET 事件模式 已更新的 .NET 事件模式 区别委托和事件 语言集成查询 (LINQ) LINQ 概述 查询表达式基础 C# 中的 LINQ 在 C# 中编写 LINQ 查询 查询对象的集合 从方法中返回查询 在内存中存储查询结果 对查询结果进行分组 创建嵌套组 对分组操作执行子查询 按连续键对结果进行分组 在运行时动态指定谓词筛选器 执行内部联接 执行分组联接 执行左外部联接 对 join 子句的结果进行排序 使用组合键进行联接 执行自定义联接操作 在查询表达式中处理 null 值 在查询表达式中处理异常
模式匹配 编写安全高效的代码 表达式树 表达式树简介 表达式树说明 支持表达式树的框架类型 执行表达式 解释表达式 生成表达式 翻译表达式 总结 本机互操作性 记录代码 版本控制 操作指南C#文章 文章索引 捋字符串拆分为子字符串 连接字符串 搜索字符串 修改字符串内容 比较字符串 使用模式匹配以及is/as运算符安全地进行强制转换 NET Compiler Platform SDK(Roslyn APD) NET Compiler Platform SDK( Roslyn AP|)概述 了解编译器API模型 使用语法 使用语义 使用工作区 使用语法可视化工具浏览代码 快速入门 语法分析 语义分析
模式匹配 编写安全高效的代码 表达式树 表达式树简介 表达式树说明 支持表达式树的框架类型 执行表达式 解释表达式 生成表达式 翻译表达式 总结 本机互操作性 记录代码 版本控制 操作指南 C# 文章 文章索引 将字符串拆分为子字符串 连接字符串 搜索字符串 修改字符串内容 比较字符串 使用模式匹配以及 is/as 运算符安全地进行强制转换 .NET Compiler Platform SDK (Roslyn API) .NET Compiler Platform SDK (Roslyn API) 概述 了解编译器 API 模型 使用语法 使用语义 使用工作区 使用语法可视化工具浏览代码 快速入门 语法分析 语义分析
语法转换 教程 生成首个分析器和代码修补程序 C#编程指南 概述 C#程序内部探究 C#程序所含内容 C#程序的通用结构 标识符名称 C#编码约定 Main0和命合行参数 概述 命合行自变量 如何显示命合行参数 Main0返回值 顶级语句 编程概念 概述 异步编程 概述 异步编程场景 异步编程模型 异步返回类型 取消任务 取消任务列表 在一段时间后取消任务 在异步任务完成时对其进行处理 异步文件访问 属性 概述 创建自定义特性 使用反射访问特性
语法转换 教程 生成首个分析器和代码修补程序 C# 编程指南 概述 C# 程序内部探究 C# 程序所含内容 C# 程序的通用结构 标识符名称 C# 编码约定 Main() 和命令行参数 概述 命令行自变量 如何显示命令行参数 Main() 返回值 顶级语句 编程概念 概述 异步编程 概述 异步编程场景 异步编程模型 异步返回类型 取消任务 取消任务列表 在一段时间后取消任务 在异步任务完成时对其进行处理 异步文件访问 属性 概述 创建自定义特性 使用反射访问特性
如何使用特性创建C/C++联合 集合 协变和逆变 概述 泛型接口中的变体 创建变体泛型接口 在泛型集合的接口中使用变体 委托中的变体 在委托中使用变体 对Func和 Action泛型委托使用变体 表达式树 概述 如何执行表达式树 如何修改表达式树 如何使用表达式树来生成动态查询 在 Visua| Studio中调试表达式树 Debug view语法 迭代器 语言集成查询(LNQ 概述 C#中的LNQ入门 L|NQ查询简介 L|NQ和泛型类型 基本L|NQ查询操作 使用L|NQ进行数据转换 LINQ查询操作中的类型关系 LINQ中的查询语法和方法语法 支持L|NQ的C#功能 演练:用C#编写查询(L|NQ 标准査询运算符概述 概述 标准査询运算符的查询表达式语法
如何使用特性创建 C/C++ 联合 集合 协变和逆变 概述 泛型接口中的变体 创建变体泛型接口 在泛型集合的接口中使用变体 委托中的变体 在委托中使用变体 对 Func 和 Action 泛型委托使用变体 表达式树 概述 如何执行表达式树 如何修改表达式树 如何使用表达式树来生成动态查询 在 Visual Studio 中调试表达式树 DebugView 语法 迭代器 语言集成查询 (LINQ) 概述 C# 中的 LINQ 入门 LINQ 查询简介 LINQ 和泛型类型 基本 LINQ 查询操作 使用 LINQ 进行数据转换 LINQ 查询操作中的类型关系 LINQ 中的查询语法和方法语法 支持 LINQ 的 C# 功能 演练:用 C# 编写查询 (LINQ) 标准查询运算符概述 概述 标准查询运算符的查询表达式语法
标准查询运算符按执行方式的分类 对数据进行排序 Set运算 筛选数据 限定符运算 投影运算 数据分区 联接运算 数据分组 生成运算 相等运算 元素运算 转换数据类型 串联运算 聚合运算 LINQ to Objects 概述 L|NQ和字符串 操作指南 如何对某个词在字符串中出现的次数进行计数L|NQ) 如何查询包含一组指定词语的句子(LNQ 如何查询字符串中的字符(LNQ 如何将LNQ查询与正则表达式合并在一起 如何查找两个列表之间的差集(LNQ 如何按任意词或字段对文本数据进行排序或筛选(LNQ 如何重新排列带分隔符的文件的字段L|NQ) 如何合并和比较字符串集合(L|NQ 如何从多个源填充对象集合(L|NQ 如何使用组将一个文件拆分成多个文件(L|NQ 如何联接不同文件的内容(L|NQ 如何在CSV文本文件中计算列值(L|N L|NQ和反射
标准查询运算符按执行方式的分类 对数据进行排序 Set 运算 筛选数据 限定符运算 投影运算 数据分区 联接运算 数据分组 生成运算 相等运算 元素运算 转换数据类型 串联运算 聚合运算 LINQ to Objects 概述 LINQ 和字符串 操作指南 如何对某个词在字符串中出现的次数进行计数 (LINQ) 如何查询包含一组指定词语的句子 (LINQ) 如何查询字符串中的字符 (LINQ) 如何将 LINQ 查询与正则表达式合并在一起 如何查找两个列表之间的差集 (LINQ) 如何按任意词或字段对文本数据进行排序或筛选 (LINQ) 如何重新排列带分隔符的文件的字段 (LINQ) 如何合并和比较字符串集合 (LINQ) 如何从多个源填充对象集合 (LINQ) 如何使用组将一个文件拆分成多个文件 (LINQ) 如何联接不同文件的内容 (LINQ) 如何在 CSV 文本文件中计算列值 (LINQ) LINQ 和反射
如何使用反射查询程序集的元数据(L|NQ) L|NQ和文件目录 概述 如何查询具有指定特性或名称的文件 如何按扩展名对文件分组(LINQ) 如何查询一组文件夹中的总字节数(LNQ 如何比较两个文件夹的内容(L|NQ 如何查询目录树中的一个或多个最大的文件(L|NQ 如何在目录树中查询重复文件L|NQ 如何:查询文件夹中的文件的内容(LINQ 如何使用LNQ查询 ArrayList 如何为LNQ查询添加自定义方法 L| NQ to ADO. NET(门户网站页) 后用数据源以进行L|NQ查询 对LNQ的Vsua| Studio|DE和工具支持 反射 序列化(C#) 概述 如何捋对象数据写入XML文件 如何从XML文件中读取对象数据 演练:在 Visua| Basic中保持对象 语句、表达式和运算符 概述 语句 Expression- Bodied成员 匿名函数 概述 如何在查询中使用 Lambda表达式 相等和相等性比较 相等比较 如何为类型定义值相等性 如何测试引用相等性(标识)
如何使用反射查询程序集的元数据 (LINQ) LINQ 和文件目录 概述 如何查询具有指定特性或名称的文件 如何按扩展名对文件分组 (LINQ) 如何查询一组文件夹中的总字节数 (LINQ) 如何比较两个文件夹的内容 (LINQ) 如何查询目录树中的一个或多个最大的文件 (LINQ) 如何在目录树中查询重复文件 (LINQ) 如何:查询文件夹中的文件的内容 (LINQ) 如何使用 LINQ 查询 ArrayList 如何为 LINQ 查询添加自定义方法 LINQ to ADO.NET(门户网站页) 启用数据源以进行 LINQ 查询 对 LINQ 的 Visual Studio IDE 和工具支持 反射 序列化 (C#) 概述 如何将对象数据写入 XML 文件 如何从 XML 文件中读取对象数据 演练:在 Visual Basic 中保持对象 语句、表达式和运算符 概述 语句 Expression-Bodied 成员 匿名函数 概述 如何在查询中使用 Lambda 表达式 相等和相等性比较 相等比较 如何为类型定义值相等性 如何测试引用相等性(标识)
类型 使用和定义类型 强制转换和类型转换 装箱和取消装箱 如何捋字节数组转换为int 如何捋字符串转换为数字 如何在十六进制字符串与数值类型之间转换 使用类型 dynamic 演练:创建并使用动态对象(C#和 Visual basic) 类、结构和记录 概述 类 记录 对象 继承 多形性 概述 使用 Override和New关键字进行版本控制 了解何时使用 Override和NeW关键字 如何重写 ToString方法 成员 成员概述 抽象类、密封类及类成员 静态类和静态类成员 访问修饰符 字段 常量 如何定义抽象属性 如何在C#中定义常量 属性 属性概述 使用属性
类型 使用和定义类型 强制转换和类型转换 装箱和取消装箱 如何将字节数组转换为 int 如何将字符串转换为数字 如何在十六进制字符串与数值类型之间转换 使用类型 dynamic 演练:创建并使用动态对象(C# 和 Visual Basic) 类、结构和记录 概述 类 记录 对象 继承 多形性 概述 使用 Override 和 New 关键字进行版本控制 了解何时使用 Override 和 New 关键字 如何重写 ToString 方法 成员 成员概述 抽象类、密封类及类成员 静态类和静态类成员 访问修饰符 字段 常量 如何定义抽象属性 如何在 C# 中定义常量 属性 属性概述 使用属性
接口属性 限制访问器可访问性 如何声明和使用读/写属性 自动实现的属性 如何:使用自动实现的属性实现轻量类 方法 方法概述 本地函数 ref返回值和局部变量 参数 快速参考 传递值类型参数 传递引用类型参数 如何了解向方法传递结构和向方法传递类引用之间的区别 隐式类型的局部变量 如何在查询表达式中使用隐式类型的局部变量和数组 扩展方法 如何实现和调用自定义扩展方法 如何为枚举创建新方法 命名自变量和可选自变量 如何在 Office编程中使用命名自变量和可选自变量 构造函数 构造函数概述 使用构造函数 实例构造函数 私有构造函数 静态构造函数 如何编写复制构造函数 终结器 对象和集合初始值设定项 如何使用对象初始值设定项初始化对象 如何使用集合初始值设定项初始化字典
接口属性 限制访问器可访问性 如何声明和使用读/写属性 自动实现的属性 如何:使用自动实现的属性实现轻量类 方法 方法概述 本地函数 ref 返回值和局部变量 参数 快速参考 传递值类型参数 传递引用类型参数 如何了解向方法传递结构和向方法传递类引用之间的区别 隐式类型的局部变量 如何在查询表达式中使用隐式类型的局部变量和数组 扩展方法 如何实现和调用自定义扩展方法 如何为枚举创建新方法 命名自变量和可选自变量 如何在 Office 编程中使用命名自变量和可选自变量 构造函数 构造函数概述 使用构造函数 实例构造函数 私有构造函数 静态构造函数 如何编写复制构造函数 终结器 对象和集合初始值设定项 如何使用对象初始值设定项初始化对象 如何使用集合初始值设定项初始化字典