相关疑难解决方法(0)

文件路径中正斜杠(/)和反斜杠(\)之间的差异

我想知道文件路径\/文件路径之间的区别.我注意到有时路径包含/,有时它与之相关\.

如果有人能解释何时使用\和,那将是很好的/.

c# path slash filepath backslash

145
推荐指数
7
解决办法
5万
查看次数

Path.Combine和点表示法

我正在寻找类似于Path.Combine方法的东西,这将有助于我正确地组合绝对路径和相对路径.例如,我想要

Path.Combine(@"c:\alpha\beta", @"..\gamma");
Run Code Online (Sandbox Code Playgroud)

产生c:\alpha\gamma的,而不是c:\alpha\..\gammaPath.Combine做.有没有简单的方法来实现这一目标?不用说,我也希望周期.路径或多个..路径(例如..\..\)正常工作.

.net c# directory combinations path

40
推荐指数
3
解决办法
1万
查看次数

如何使用Server.MapPath获取ASP.NET中网站文件夹外的位置

当我的ASP.NET站点使用文档(例如XML)时,我通常按如下方式加载文档:

Server.MapPath("~\Documents\MyDocument.xml")
Run Code Online (Sandbox Code Playgroud)

但是,我想将Documents文件夹移出网站文件夹,以便它现在是网站文件夹的兄弟.这将使文档维护变得更加容易.

但是,重写文档加载代码如下:

Server.MapPath("../../Documents/MyDocument.xml")
Run Code Online (Sandbox Code Playgroud)

导致ASP.NET抱怨它无法"退出顶级目录".

那么有人可以建议我如何相对指定网站文件夹之外的文件夹的位置?我真的不想为明显的部署原因指定绝对路径.

谢谢

大卫

asp.net relative-path

12
推荐指数
2
解决办法
6万
查看次数

创建两个路径之间的相对路径

可能重复:
如何从绝对路径获取相对路径

我目前正在使用它FolderBrowserDialog来返回绝对路径.我想改为获取相对于当前正在执行的目录的相对路径.鉴于FolderBrowserDialog只返回绝对路径,有没有办法将其转换为相对路径?

.net c#

10
推荐指数
1
解决办法
2万
查看次数

C#中的PathCanonicalize等价物

与C#中的PathCanonicalize相同的是什么?

使用:我需要好好猜测两个文件路径是否引用同一个文件(没有磁盘访问).我的典型方法是通过一些过滤器(如MakeAbsolute和PathCanonicalize)抛出它,然后进行不区分大小写的比较.

c# filenames

8
推荐指数
2
解决办法
4295
查看次数

将相对路径转换为绝对路径

我试图使用linkLabel在Windows窗体中打开一个Help.txt文件.但无法从绝对路径转换为相对路径.

首先,我尝试获取exe文件的绝对路径.哪个是成功的.其次,只获取exe文件的目录.哪个是成功的.第三,我试图将目录与Help.txt文件的相对路径组合在一起.哪个不成功.

Exe文件位于 - >\Project\bin\Debug文件夹中,但Help.txt文件位于\ Project\Help文件夹中.这是我的代码: -

 string exeFile = (new System.Uri(Assembly.GetEntryAssembly().CodeBase)).AbsolutePath;
 string Dir = Uri.UnescapeDataString(Path.GetDirectoryName(exeFile));
 string path = Path.Combine(Dir, @"..\..\Help\Help.txt");
 System.Diagnostics.Process.Start(path);
Run Code Online (Sandbox Code Playgroud)

我的路径的结果是 - >\Project\bin\Debug ....\Help\Help.txt

c# relative-path absolute-path

2
推荐指数
1
解决办法
3344
查看次数

正则表达式收缩Path.Combine相对于绝对

我有2个文件路径:

绝对:

/Content/assets2/otherfolder/another/this/
Run Code Online (Sandbox Code Playgroud)

相对的:

../../../../assets/img/logo.gif
Run Code Online (Sandbox Code Playgroud)

当我做Path.Combine(绝对,相对)我得到:

/Content/assets2/otherfolder/another/this/../../../../assets/img/logo.gif
Run Code Online (Sandbox Code Playgroud)

哪个工作正常,但我想得到的:

/Content/assets/img/logo.gif
Run Code Online (Sandbox Code Playgroud)

我需要一个正则表达式或代码,用相应的文件夹删除"../":

/Content/assets2/otherfolder/another/this/../../../../assets/img/logo.gif
/Content/assets2/otherfolder/another/../../../assets/img/logo.gif
/Content/assets2/otherfolder/../../assets/img/logo.gif
/Content/assets2/../assets/img/logo.gif
Run Code Online (Sandbox Code Playgroud)

最后进入:

/Content/assets/img/logo.gif
Run Code Online (Sandbox Code Playgroud)

.net c# regex

0
推荐指数
1
解决办法
145
查看次数