【发布时间】:2014-04-23 08:29:48
【问题描述】:
我需要访问我的 C# vs2010 项目中的资源文件的完整路径,以用于在下面创建 myType 变量。如果我手动输入路径为
@"C:\dir1\dir2\dir3\dir4\Source\dir5\dir6\Resources\myIcon.png"
代码工作并访问图标。但如果我使用:
var result = Path.GetFullPath("myIcon.png")
变量结果中的值是正确目录的名称,除了两个反斜杠而不是一个,即
"C:\\dir1\\dir2\\dir3\\dir4\\Source\\dir5\\dir6\\myIcon.png"
。问题是我需要动态得出结果(文件名变量),我无法对其进行硬编码。
我不知道我是否应该手动摆脱两个 \ 并用单个 \ 替换它?或者我错过了什么。
var result = Path.GetFullPath("myIcon.png");
ToolboxItemWrapper myType = new ToolboxItemWrapper(
type,
@"C:\dir1\dir2\dir3\dir4\Source\dir5\ImAdmin\dir6\myIcon.png",
type.Name);
我正在重新编辑我的问题。我有很多问题,我在阅读了所有的 cmets 和答案后才意识到。因此,我将唯一的答案标记为答案,但是关于小心使用 GetFullPath 的一条评论也是一个有价值的反馈。谢谢你们。
【问题讨论】:
-
“我在结果中看到了”是什么意思?在 Visual Studio 调试器中?这只是显示给 // 以模拟 C# 语法,字符串中只有一个 /。
-
@user1298925,我会非常小心地打电话给
Path.GetFullPath("myIcon.png");。您正在假设当前文件夹设置为某个固定路径,但它可以是任何可以更改的路径 -
请注意,关于“如何在项目的资源文件夹中查找文件路径”有很多重复的问题...
-
我见过他们,我使用 SO 选择了 Path.GetFullPath。
标签: c# path resources filenames