用途:面向 .NET 的高性能 I/O 优化指南,用于构建高吞吐量文件处理程序、算法竞赛等对输入输出速度敏感的场景,核心是减少系统调用与缓冲开销。
主要能力:一是高速标准 I/O,使用 Console.OpenStandardInput()/OpenStandardOutput() 配合带 65536 缓冲的 StreamReader/StreamWriter,并设置 writer.AutoFlush = false,循环处理后在末尾手动 Flush();算法题中可指定 Encoding.ASCII 缓冲,并先用 StringBuilder 聚合大量输出再一次性写入。二是文件 I/O 优化,使用大于默认 4KB 的缓冲(如 64KB 的 FileStream),异步读取用 FileOptions.Asynchronous 配合 ReadAsync;顺序读可用 FileOptions.SequentialScan 提示操作系统;.NET 6+ 可用 File.OpenHandle 和 RandomAccess.Read/ReadAsync 按偏移直接访问,无需管理文件位置。三是大文件处理,支持基于分块的异步读取(实现 IAsyncEnumerable<byte[]>,chunkSize 默认 64KB,组合 Asynchronous 与 SequentialScan),以及用 MemoryMappedFile 将大文件映射到内存后经 view accessor 直接读写。
使用方式:在代码中按场景选择上述 API 与缓冲大小,参照技能内的 QUICKREF.md 快速查看常用模式,并依据性能对比表选择方案:Console.ReadLine() 为基准 1x,默认缓冲 StreamReader 约 2x,64KB 缓冲约 3-5x,MemoryMappedFile 约 5-10x。
限制与注意:缓冲过小会增加系统调用,过大浪费内存,推荐 4KB 至 64KB;读取 UTF-8 且不含 BOM 时可用 new UTF8Encoding(encoderShouldEmitUTF8Identifier: false);AutoFlush 关闭后需在重要数据后手动 Flush。本资料未提供安装方式、收费或价格、许可与平台支持等信息。