在 .NET Core 中,Path.TryJoin 比 Path.Combine 有什么优势?



我刚开始使用.NET Core 2.1,并找到了Path.TryJoinPath.Join方法。没有关于该方法的文档。

我运行了一些调用该方法的单元测试,它与Path.Combine没有什么不同。

除了利用新的 C#Span<T>数据类型来最大程度地减少字符串操作执行之外,这有什么好处吗?

您可以在此处找到介绍Path.Join背后的基本原理。恕我直言,它似乎在用简单性换取性能和一些小修复,也找不到任何迹象表明 Join 像Path.Combine那样使用正确的分隔符创建跨平台有效路径,但无论如何都是应该的。

为了详细说明讨论,Path.Join解决的主要怪癖是最后一个根深蒂固的论点,很多人不希望它以它的方式工作(这有点小,但显然不是(,正如在 C# 或 .NET 页面中最糟糕的陷阱上的示例所示。

讨论的总体思路是慢慢弃用Combine以支持Join

另请注意,已为此 PR 的Path.Join添加了字符串重载

最新更新