4

UNIXパスのPHPのrealpathに相当するC#の関数はありますか?

私は何も見つけることができず、最初から書くのはかなり時間がかかるようです.

私は知ってGetFullPathいますが、次の問題があります(私にとって):

  • "//foo//../bar///c"返されるのは Windows パスなので、のようなもの"t:\bar\c"が返されます。
  • "/foo bar/baz"ディレクトリ名からスペースを削除するため、のようなもの"t:\foobar\baz"が返されます。
  • GivingConsole.WriteLine(Path.GetFullPath( "//d/"));もコンパイルされず、次ArgumentExcpetionのメッセージが表示されます。The UNC path should be of the form \\server\share.
4

2 に答える 2

0

クラスを使用できますUriが、重複するスラッシュをすべてマージするわけではないため、後処理が必要です。

new Regex(@"/\/+/").Replace(new Uri("//foo//../bar///c").AbsolutePath, "/")

ただし、より適切に制御できるように、自分でコーディングすることをお勧めします。

于 2013-04-05T15:22:58.910 に答える