我刚开始使用.NET Core 2.1,发现了Path.TryJoin
和Path.Join
方法。该方法没有文档。
我运行了一些调用该方法的单元测试,它与Path.Combine
没什么不同。
除了利用新的C#Span<T>
数据类型来最大程度地减少字符串操作执行之外,还有其他好处吗?
答案 0 :(得分:5)
您可以找到引入here的Path.Join
背后的理由。恕我直言,这似乎是为了性能和一些小的修正而简化交易,也找不到任何迹象表明Join可以像Path.Combine
那样使用正确的分隔符创建跨平台有效的路径,但从所有方面考虑都是如此。
为了详细讨论,Path.Join
解决的主要怪癖是最后一个有争议的论点,许多人不希望这样做(它虽然很小,但显然不是),可以在the worst gotcha in C# or .NET page上的示例中看到。
讨论中的总体思路是逐渐弃用Combine
,而推荐使用Join
。
还请注意,PR为Path.Join
添加了字符串重载