泥庭

2015年1月26日

Path区切り文字

Filed under: .NET, C# — タグ: — yone64 @ 12:50 PM
.NETにおいて、フォルダパスの区切りは、”\”でも”/”でも問題なく動作します。(たいていの場合
# なお、環境は
# Windows 8.1 + .NET Framework 4.5.1 + Visual Studio 2013 で確認しています。
// 全部動作可能
var readAllLines1 = File.ReadAllLines(@"C:\temp\text.txt");
var readAllLines2 = File.ReadAllLines(@"C:/temp/text.txt");
var readAllLines3 = File.ReadAllLines(@"../../text.txt");
var readAllLines4 = File.ReadAllLines(@"..\..\text.txt");
なぜか、Process.Startを使う場合、”\”じゃないと動作しないケースを発見してしまいました。
// ↓の3つは動作する
Process.Start(@"C:\temp\test.exe");
Process.Start(@"C:/temp/test.exe");
Process.Start(@"..\..\test.exe");
// これだけ、実行時例外
Process.Start(@"../../test.exe");
// これならば実行可能。
Process.Start(@"..\../test.exe");
相対パスで指定する場合の最初の”..\”または”.\”の”\”は”/”にすると動作しないようです。
2番目以降はどちらでも良いようです。意図したものか、バグなのかはわかりませんが、ご注意。
広告

コメントする »

まだコメントはありません。

RSS feed for comments on this post. TrackBack URI

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

WordPress.com で無料サイトやブログを作成.

%d人のブロガーが「いいね」をつけました。