当前位置: 首页 > news >正文

Path.Combine容易被忽略的细节

Path.Combine这个方法是很常用的一个方法,通常用它来拼接路径。尤其是存在对路径有跨平台的场景,更应该使用它来处理路径拼接。

那Path.Combine会存在怎么样的一个问题呢?


private class TestClass
{public void Test(){var result= Path.Combine("C:\Users\Desktop\tmp","/image.png")}
}

以上代码中 result 结果会是什么呢?

result = C:\Users\Desktop\tmp/image.png 吗?

实际上,结果是 /image.png。

为什么会这样子?

看下微软的注解:

        此方法旨在将单个字符串连接到表示文件路径的单个字符串中。但是,    如果第一个以外的参数包含根路径,则忽略以前的任何路径组件,并且返回    的字符串以该根路径组件开头。 作为 方法的 Combine 替代方法,请考虑    使用 Join 或 TryJoin 方法。

有这段注解应该就很好理解了,因为我们需要拼接的字符串中,以/或'\'开头,那么它将忽略前面的参数。

所以我们在处理路径拼接的时候,一定要注意下这种场景,它会导致隐藏的BUG。

 


http://www.mrgr.cn/news/75109.html

相关文章:

  • java:继承题练习
  • 5G 现网信令参数学习(3) - RrcSetup(1)
  • C#版使用融合通信API发送手机短信息
  • 【时间之外】IT人求职和创业应知【31】
  • Python 绘图工具详解:使用 Matplotlib、Seaborn 和 Pyecharts 绘制散点图
  • LabVIEW导入并显示CAD DXF文件图形 程序见附件
  • DAPP迎启动契机,Scroll 生态全面启动为 Pencils Protocol 赋能
  • C++函数的返回值在内存中的传递过程
  • 第4章-计划 4.4 范围管理
  • Python基础学习-07不可重复的set集合
  • 常用的生物医药专利查询数据库及网站(很全!)
  • Jetpack 之 Ink API初探
  • qt QQuickView详解
  • 《DPT: Deformable Patch-based Transformer for Visual Recognition》论文翻译
  • Go常见框架对比
  • AI驱动的电商创新:提升销售效率与用户体验
  • session 的工作原理
  • SpringBoot(十)SpringBoot使用QQ邮箱stmp发送邮件
  • 【计算机网络】UDP网络程序
  • 大数据新视界 -- 大数据大厂之 Impala 存储格式转换:从原理到实践,开启大数据性能优化星际之旅(下)(20/30)
  • 一个免费的Java 应用内存问题分析工具,用于 OutOfMemoryErrors 和堆大小调整等问题(带私活源码)
  • 基于51单片机智能窗帘仿真设计
  • 解决failed to execute PosixPath(‘dot‘) 或者GraphViz‘s executables not found
  • 【MySQL】约束
  • 三、模板与配置(下)
  • 【MySQL】数据库必备知识:全面整合表的约束与深度解析