C# 的 IO . Directory

6 月 9 日
阅读 30 分钟
399
提供用于创建、移动目录及子目录并对其进行枚举的静态方法。此类不可继承。 public static class Directory 继承ObjectDirectory备注使用 Directory 类执行复制、移动、重命名、创建和删除目录等典型操作。要创建目录,请使用CreateDirectory方法之一。要删除目录,请使用删除方法之一。要获取或设置应用的当前目录,请...

C# 的 BufferedStream

6 月 3 日
阅读 15 分钟
351
为另一个流上的读写操作添加缓冲层。此类不可被继承。 public sealed class BufferedStream : System . IO . Stream

C# 的 BinaryReader 和 BinaryWriter

6 月 1 日
阅读 25 分钟
399
BinaryReader 可将基元数据类型作为特定编码中的二进制读取;BinaryWriter 以二进制形式将基元类型写入流,并支持以特定编码写入字符串。

C# 的 IO 结构、枚举、委托和异常

5 月 23 日
阅读 8 分钟
437
定义驱动器类型的常量,包括 CDRom(光盘)、Fixed(固定)、Network(网络)、NoRootDirectory(无根)、Ram(内存)、Removable(可移动)和 Unknown(未知)。

C# 的 Environment

5 月 17 日
阅读 25 分钟
511
提供有关当前环境和平台的信息以及对其进行操作的方法。此类不可被继承。 public static class Environment 继承ObjectEnvironment示例以下示例展示了 Environment 的常用的字段和方法: {代码...} 属性CommandLine获取当前进程的命令行。 public static string CommandLine { get; } 返回值类型注解string一个当前进程...

C# 的 Enumerable

5 月 3 日
阅读 129 分钟
403
提供一组 static(在 Visual Basic 中为 Shared)方法,用于查询实现 IEnumerable < T > 的对象。但对于实现 IEnumerable < T > 的对象,这些方法大多可以以实例方法出现,而不一定使用 IEnumerable < T > 的静态方法;反之,不实现 IEnumerable < T > 接口的实例,这些方法不存在。 public sta...

C# 的 List

3 月 17 日
阅读 39 分钟
664
表示可通过索引访问的强类型对象单集。提供搜索、排序和操作列表的方法。 public class List < T > : System . Collections . Generic . ICollection < T > , System . Collections . Generic . IEnumerable < T > , System . Collections . Generic . IList < T > , System . Collections . Ge...

C# 的 HashSet

2 月 28 日
阅读 14 分钟
591
ICollection < T >,IEnumerable < T >,IReadOnlyCollection < T >,ISet < T >,ICollection,IEnumerable,IReadOnlySet < T >,IDeserializationCallback,ISerializable

C# 的 SortedSet

2 月 22 日
阅读 16 分钟
850
ICollection < T >,IEnumerable < T >,IReadOnlyCollection < T >,ISet < T >,ICollection,IEnumerable,IReadOnlySet < T >,IDeserializationCallback,ISerializable

Dictionary 类

2 月 9 日
阅读 20 分钟
876
ICollection < KeyValuePair < T键 , T值 > > , IDictionary < T键 , T值 > , IEnumerable < KeyValuePair < T键 , T值 > > , IEnumerable < T > , IReadOnlyCollection < KeyValuePair < T键 , T值 > > , IReadOnlyDictionary < T键 , T值 > , ICollection , ID...

C# 的 Array

1 月 11 日
阅读 69 分钟
823
提供用于创建、操作、搜索和排序数组的方法,从而作为公共语言运行时中所有数组的基类。 public abstract class Array : ICloneable , System . Collections . IList , System . Collections . IStructuralComparable , System . Collections . IStructuralEquatable

C# 的 Action 和 Func

2025-12-28
阅读 12 分钟
826
Action 封装一个没有参数或 1 ~ 16 个参数且不返回值的方法。Func 封装一个没有参数或 1 ~ 16 个参数且有指定类型的返回值的方法。

Exception - 基本异常

2025-12-21
阅读 56 分钟
937
表示应用程序执行期间发生的错误。 public class Exception : System . Runtime . Serialization . ISerializable

C# 的 ReadOnlySpan

2025-12-12
阅读 14 分钟
1k
ReadOnlySpan < T > 类型是一种 ref struct,它在栈上分配,而非托管堆上。ref struct 类型有诸多限制,以确保它们不会被提升到托管堆,其中包括:它们不能被装箱,不能赋值给 Object 类型、dynamic 类型的变量或任何接口类型的变量,不能作为引用类型中的字段,也不能跨 await 和 yield 边界使用。此外,调用 Equ...

C# 的 Span

2025-12-10
阅读 20 分钟
957
Span < T > 类型是一种 ref struct,它在栈上分配,而非托管堆上。ref struct 类型有诸多限制,以确保它们不会被提升到托管堆,其中包括:它们不能被装箱,不能赋值给 Object 类型、dynamic 类型的变量或任何接口类型的变量,不能作为引用类型中的字段,也不能跨 await 和 yield 边界使用。此外,调用 Equals ( Ob...

C# 的 String 类

2025-12-05
阅读 115 分钟
1.1k
继承 Object String实现 IEnumerable < Char >;IEnumerable;IComparable;IComparable < String >;IConvertible;IEquatable < String >;ICloneable;IParsable < String >;IParsable < TSelf >;ISpanParsable < String >

C# 的异步编程

2025-11-13
阅读 85 分钟
1.2k
任务异步编程(TAP)模型在典型的异步编程之上提供了一层抽象。在该模型中,您像往常一样编写代码,将其视为一系列语句。不同之处在于,在编译器处理每个语句以及开始处理下一条语句之前,您可以以任务为基础的方式阅读您的代码。为了实现这一模型,编译器会对每个任务执行许多转换。某些语句可以启动工作并返回一个表示...

C# 的 Language Integrated Query(LINQ,语言集成查询)

2025-09-23
阅读 131 分钟
1.5k
语言集成查询(LINQ)指的是基于将查询功能直接整合到 C# 语言中而形成的一系列技术。传统上,针对数据的查询是以简单的字符串形式表达的,且在编译时没有类型检查,也没有智能提示支持。此外,针对不同的数据源(如 SQL 数据库、XML 文档、各种 Web 服务等),您需要学习不同的查询语言。而使用 LINQ 后,查询就成为了...

C# 教程

2025-09-09
阅读 55 分钟
1.1k
记录是基于值进行比较的类型。您可以将记录定义为引用类型或值类型。如果 record 类型的定义完全相同,并且对于每个字段,两个记录中的值都相等,那么这两个 record 类型的变量就是相等的。如果 class 类型的两个变量相等,则意味着所引用的对象属于相同的 class 类型,并且这两个变量分别指向同一个对象。基于值的比较...

C# 中的怎么做

2025-08-29
阅读 52 分钟
974
传递给可执行文件的命令行参数可以在顶级语句中访问,也可以通过 Main 函数的可选参数来获取。这些参数以字符串数组的形式提供。数组中的每个元素代表一个参数。参数之间的空格会被去除。例如,考虑以下对一个虚构可执行文件的命令行调用:

C# 的代码样式

2025-08-20
阅读 14 分钟
1.3k
标识符命名规则与规范标识符是您为类型(class、interface、struct、delegate 或 enum)、成员、变量或命名空间所赋予的名称。命名规则有效的标识符必须遵循以下规则。如果任何标识符不符合这些规则,C# 编译器将会产生错误:标识符必须以字母或下划线(_)开头。标识符可以包含 Unicode 字母字符、十进制数字字符、Unic...

C# 的异常处理

2025-08-17
阅读 11 分钟
1.6k
C# 语言的异常处理功能可帮助你处理程序运行时发生的任何意外或异常情况。异常处理使用 try、catch 和 finally 关键字来尝试可能不成功的操作,以便在您认为这样做是合理时处理异常,并在完成后清理资源。公共语言运行时(CLR)、.NET 或第三方库或应用程序代码可以生成异常。异常是通过使用 throw 关键字创建的。

C# 的模式匹配概述

2025-08-17
阅读 22 分钟
1.2k
模式匹配是一种通过测试表达式来确定其是否具有特定特征的技术。C# 的模式匹配提供了更简洁的语法来测试表达式并根据表达式是否匹配采取相应行动。“is 表达式” 支持模式匹配以测试表达式,并根据该表达式的结果有条件地声明一个新的变量。“switch 表达式” 允许您根据表达式的第一个匹配模式执行操作。这两种表达式都支持...

C# 中面向对象技术概述

2025-08-10
阅读 15 分钟
1.1k
在 C# 中,类型(class、struct 或 record)的定义就像是一份蓝图,它规定了该类型能够做什么。对象基本上就是根据这份蓝图分配和配置的一块内存。本文概述了这些蓝图及其特性。

C# 的类型系统

2025-08-08
阅读 21 分钟
1.2k
C# 是一种强类型语言。每个变量和常量都有其类型,每个计算出结果为值的表达式也是如此。每个方法声明都会指定每个输入参数以及返回值的名称、类型和类型(值类型、引用类型或输出类型)。.NET 类库定义了内置的数值类型和复杂类型,这些类型代表了各种各样的结构。其中包括文件系统、网络连接、对象的集合和数组以及日...

C# 的程序结构

2025-08-03
阅读 11 分钟
1.4k
C# 程序由一个或多个文件组成。每个文件都包含零个或多个命名空间。命名空间包含类、结构、接口、枚举和委托或其他命名空间等类型。下面的示例是包含所有这些元素的 C# 程序的框架。

可为 null 的值类型

2025-07-19
阅读 5 分钟
1.1k
可为 null 值类型 T? 表示其基础值类型 T 的所有值及额外的 null 值。例如,可以将以下三个值中的任意一个指定给 bool? 变量:true、false 或 null。基础值类型 T 本身不能是可为 null 的值类型。

C# 的元组类型

2025-07-19
阅读 6 分钟
954
如前面的示例所示,若要定义元组类型,需要指定其所有数据成员的类型,或者,可以指定字段名称(或不指定,分别为 Item1、Item2……)。虽然不能在元组类型中定义方法,但可以使用 .NET 提供的方法,如下面的示例所示:

C# 的 ref struct 类型

2025-07-18
阅读 3 分钟
1k
你可以在 struct 的声明中使用 ref 修饰符。ref struct 类型的实例是在堆栈上分配的,不能转义到托管堆。为了确保这一点,编译器将 ref struct 类型的使用限制如下:

C# 的结构类型

2025-07-17
阅读 7 分钟
1.1k
结构类型具有值语义。也就是说,结构类型的变量包含类型的实例。默认情况下,在分配中,通过将参数传递给方法并返回方法结果来复制变量值。对于结构类型变量,将复制该类型的实例。

C# 的内置数值转换

2025-07-17
阅读 3 分钟
1.1k
备注:从 int、uint、long、ulong、nint 或 nuint 到 float 的隐式转换以及从 long、ulong、nint 或 nuint 到 double 的隐式转换可能会丢失精准率,但绝不会丢失一个数量级。其他隐式数值转换不会丢失任何信息。

C# 运算符和表达式

2025-07-08
阅读 99 分钟
1.7k
C# 提供了许多运算符。 其中许多都受到内置类型的支持,可用于对这些类型的值执行基本操作。这些运算符包括以下组:算术运算符,将对数值操作数执行算术运算比较运算符,将比较数值操作数布尔逻辑运算符,将对 bool 操作数执行逻辑运算位运算符和移位运算符,将对整数类型的操作数执行位运算或移位运算相等运算符,将检...

C# 的查询语句

2025-06-21
阅读 28 分钟
1.2k
范围变量和数据源已强类型化。from 子句中引用的数据源必须具有 IEnumerable、IEnumerable < T > 类型之一,或 IQueryable < T > 等派生类型。

C# 的 namespace

2025-05-28
阅读 2 分钟
1.1k
文件范围的命名空间声明使你能够作出以下声明:一个文件中的所有类型都在一个命名空间中。C# 10 中可使用文件范围的命名空间声明。以下示例与前面的示例类似,但使用了一个文件范围的命名空间声明:

C# 的方法参数修饰符

2025-05-28
阅读 12 分钟
1.2k
默认情况下,C# 中的参数按值传递给函数。这意味着将变量的副本会传递到方法。对于值(struct)类型,值的副本将传递到方法。对于引用(class)类型,引用的副本将传递到方法。参数修饰符可让你按引用传递参数。

C# 的特殊字符

2025-05-19
阅读 15 分钟
1.4k
C# 源文件可以包含结构化注释,这些注释为这些文件中定义的类型生成 API 文档。C# 编译器生成一个 XML 文件,其中包含表示注释和 API 签名的结构化数据。例如,其他工具可以处理 XML 输出以网页或 PDF 文件的形式创建人工可读文档。