====================================== C# 编程实例 ====================================== 实例一:文件批量重命名工具 ============================ .. code-block:: csharp :caption: BatchRename.cs using System.Text.RegularExpressions; public static class BatchRename { /// /// 批量重命名文件 /// /// 目标目录 /// 搜索模式 如 "*.txt" /// 重命名函数 /// 重命名的文件数量 public static int RenameFiles( string directory, string pattern, Func replaceFunc) { var files = Directory.GetFiles(directory, pattern); int count = 0; foreach (var filePath in files) { var dir = Path.GetDirectoryName(filePath)!; var fileName = Path.GetFileName(filePath); var newName = replaceFunc(fileName); if (newName != fileName) { var newPath = Path.Combine(dir, newName); File.Move(filePath, newPath); count++; Console.WriteLine($"重命名: {fileName} -> {newName}"); } } return count; } } // 使用示例 // 添加前缀:"IMG_" + 原文件名 BatchRename.RenameFiles(@"C:\Photos", "*.jpg", name => $"IMG_{name}"); // 替换空格为下划线 BatchRename.RenameFiles(@"C:\Docs", "*.pdf", name => name.Replace(" ", "_")); // 序号重命名(正则匹配) int seq = 1; BatchRename.RenameFiles(@"C:\Data", "*.csv", name => $"{seq++:D4}_{name}"); 实例二:日志分析工具 ====================== .. code-block:: csharp :caption: LogParser.cs public class LogEntry { public DateTime Timestamp { get; set; } public string Level { get; set; } = ""; public string Message { get; set; } = ""; public string? Source { get; set; } } public class LogParser { private static readonly Regex LogPattern = new( @"^\[(?