Path.GetDirectoryName在UNC路径上返回null

时间:2014-10-06 07:31:13

标签: c# .net

Path.GetDirectoryName(@"C:\\");

返回null和

Path.GetDirectoryName(@"C:\\Foo");

返回C:\

虽然这正是documentation中提到的行为,但我想知道为什么

Path.GetDirectoryName(@"\\server.domain.tld\Foo");

返回null,而不是我预期的\ server.domain.tld \

有没有人知道为什么?

1 个答案:

答案 0 :(得分:2)

通常,UNC路径结构为\\{server}\{share}\{path.....},因此UNC示例中的"Foo"等同于第一个示例的"C:\"。这就是为什么你得到null作为你的UNC例子的路径。

"\\server\foo\bar"的路径为"bar"