1
4
可以创建一个助手类,该类将uribuilder类包装在system.net中。
然后可以这样使用:
它有点老土,但对于您给出的具体示例来说,它是有效的。 编辑:更新以反映安德鲁的评论。 |
2
1
无论你做什么,都不要使用静态的uribuilder。这将引入各种可能的竞态条件,直到您承受重负时才可能检测到这些条件。 如果同时有两个名为urihelper.normalizerelativepath的不同线程,则一个线程的返回值可以任意地传递回另一个调用方。 如果您想使用UriBuilder来完成这项工作,只需在需要时创建一个新的(创建起来并不昂贵)。 |
3
0
讽刺的回答比我的好得多,但是如果您使用的是文件系统路径,我的 下面丑陋的黑客 可能也有用。(翻译:我把它打出来了,如果我不把它寄出去,我就该死了。) 把两个字符串组合在一起,注意前后斜杠。据我所知,唯一进行规范化的路径方法是path.getfullpath。下面将为您提供“已清理”版本。
当然,有一个小问题,即结果路径将是根路径,正斜杠将转换为反斜杠(如“c:\foo\bar\path.aspx”)。但是,如果您知道原始路径的父根,那么剥离根不应该是一个大问题。 |
Haim Ohayon · 这些链接之间有什么区别? 2 年前 |