You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在C# Cake构建系统中如何将文本文件读取为List<string>?

解决Cake构建系统中读取文本文件为List的问题

原代码的问题

你的代码存在两处关键错误:

  • 变量声明错误:filePath filePath; 同时用filePath作为类型和变量名,Cake中标准化的文件路径类型是FilePath,需要明确区分类型与变量名
  • 语法错误:调用File.ReadAllText时,访问FullPath属性缺少点号,正确写法应为filePath.FullPath

修正后的实现方案

在Cake中,你可以通过两种方式完成需求,推荐优先使用Cake内置的文件操作方法:

方法一:使用Cake内置方法(推荐)

// 定义目标文件路径(替换为你的实际文件路径)
FilePath folderListFile = "./folders.txt";

// 读取文件并按回车分割为列表,自动移除空行
List<string> folders = ReadFile(folderListFile)
    .Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries)
    .ToList();

方法二:使用.NET原生File类

如果需要使用File.ReadAllText,需注意避免命名空间冲突,同时修正语法问题:

FilePath folderListFile = "./folders.txt";
// 若Cake内置File类与System.IO.File冲突,需指定完整命名空间
string fileContents = System.IO.File.ReadAllText(folderListFile.FullPath);

// 分割内容为列表并过滤空行
List<string> folders = fileContents
    .Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries)
    .ToList();

额外说明

  • StringSplitOptions.RemoveEmptyEntries参数会自动过滤文件中的空行和空白条目,避免列表中出现无效项
  • Cake的FilePath类型是对文件路径的封装,比直接使用字符串更安全,能自动处理跨平台路径格式
  • 若遇到命名空间冲突,直接使用System.IO.File代替简写的File即可解决

内容的提问来源于stack exchange,提问作者Frederick Ollinger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 23:32:17