在.NET Core中,Path.TryJoin相对于Path.Combine有什么优势?

9
我刚开始使用.NET Core 2.1,并发现了 Path.TryJoinPath.Join 方法。该方法没有文档说明。
我运行了一些单元测试来调用这个方法,它和 Path.Combine 没有任何区别。
除了利用新的C#Span<T>数据类型以最小化字符串操作执行外,是否还有其他优点?
1个回答

10

你可以在这里找到介绍Path.Join的原理。以我看来,它似乎为了性能和一些小修复而牺牲了简单性,而且我找不到任何迹象表明Join创建的路径是跨平台有效的,并具有类似于Path.Combine的正确分隔符,但按所有账户应该是这样。

为了详细说明讨论,Path.Join解决的主要问题是最后一个根参数,很多人都不希望它按照它的方式工作(看起来微不足道,但显然不是),如可以在C#或.NET页面上最糟糕的陷阱的示例中看到。

讨论的总体思路是逐渐弃用Combine,并采用Join

此外,注意对Path.Join添加了字符串重载,其PR如下所示。


如果您能在回答中添加一些关于Span<char>如何从某些设备传输的讨论,我会接受它。我不希望这个答案只是一个链接,以防URL发生变化。 - krillgar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接