2011-06-04 101 views
0

为什么Environment.GetFolderPath返回不正确的地址

string AssignmentTypesFilename = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\SchoolDayManager\AssignmentTypes.txt";` 

总是返回的

"C:\\\Users\\\Travis Michael\\\Documents\\\SchoolDayManager\\\AssignmentTypes.txt" 

代替

"C:\Users\Travis Michael\Documents\SchoolDayManager\AssignmentTypes.txt"? 
+4

当然,**它不**。我只是测试它来确保。还有其他的错误;没有足够的信息来说明它是什么。 – 2011-06-04 13:48:35

+0

我试图确保文件存在,它总是会返回false,所以我试图检查看看字符串是什么,它总是我给的第一个字符串。我最终非常沮丧,我重新启动了电脑,现在它正在工作。我以前从来没有遇到过这个问题,这就是为什么我这么困惑。 – Muckdog12 2011-06-04 13:58:17

+0

OpenFileDialog确实是最好的解决方案。如果我想将我的文件放在“SchoolDayManager”以外的目录中,该怎么办?你有正确的想法,没有硬编码文件夹的路径,但我会更进一步,使所有这些完全由用户配置。我在这之前肯定从来没有遇到过这个问题,我也不能重复它。 – 2011-06-04 14:00:01

回答

3

你怎么看串?通过调试器的监视窗口?在调试器中,字符串在显示之前有时会被转义。尝试它向用户显示,通过

Console.WriteLine(AssignmentTypesFilename); 

,或者如果使用一个WinForm GUI:

MessageBox.Show(AssignmentTypesFilename); 

应该正确然后被显示。