C#中文件路径字符串拼接后文件名丢失问题求助
问题分析与修复
核心问题
你的代码存在两个关键错误:
- 路径拼接逻辑冗余且错误:
Path.Combine(bidsFolder, dbFileName)已经生成了包含文件名的完整数据库路径,后续再拼接dbFileName属于重复操作,完全没必要。 - 全局变量拼写错误:赋值的是
Globals.AssemblyDBInfo,但设置标签文本时写成了Globals.AseemblyDBInfo(少了一个s),导致读取的不是你刚赋值的变量,自然显示错误内容。
修正后的代码
string dbFileName = $"{safeJobName}.db"; // Path.Combine 已自动生成包含文件名的完整路径 string dbPath = Path.Combine(bidsFolder, dbFileName); // 直接使用正确的完整路径赋值全局变量 Globals.AssemblyDBInfo = dbPath; // 修正拼写错误,读取正确的全局变量 label1.Text = Globals.AssemblyDBInfo;
验证逻辑
Path.Combine会自动处理路径分隔符(不管bidsFolder末尾有没有/),生成格式正确的完整路径,比如c:/path/path/file.db。- 修正拼写错误后,标签会正确显示包含文件名的完整数据库路径。
内容的提问来源于stack exchange,提问作者JonathanS
相关产品推荐
相关产品推荐

