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

ASP.NET C# 如何在foreach循环中将文件路径存入List<string>并保留所有项

错误原因

你在循环内每次都重新实例化了List<string>对象,相当于每次遍历都会清空之前的列表,替换为仅包含当前文件路径的新列表,因此最终列表只会保留最后一次遍历的文件路径。

修复步骤
  1. 首先修正列表初始化逻辑,不要在初始化时传入空的pngFile,避免列表产生无用的空字符串元素:
// 原错误初始化代码
// List<string> pngs = new List<string> { pngFile };
// 修改为初始化空列表
List<string> pngs = new List<string>();
  1. 修改循环内的逻辑,不要新建列表,调用列表的Add()方法追加元素即可:
foreach (FileInfo foundFile in filesInDir)
{
    pngFile = foundFile.FullName;
    pngs.Add(pngFile);
}
补充说明
  • 修改后所有匹配到的png文件完整路径都会按遍历顺序存入pngs列表,后续可直接遍历该列表访问所有路径
  • 如果你需要保留原代码中取最后一个匹配文件的逻辑,直接调用pngs.Last()即可获取最后一个元素,无需单独维护pngFile变量

内容的提问来源于stack exchange,提问作者Tiago Silva

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 06:18:03