1

私はこのコードを持っています:

string log_file_name = @"\logger.txt";
            string logger_file_to_read = Path.GetDirectoryName(Application.LocalUserAppDataPath) + @"\log";
            string LoggerFile = Path.Combine(logger_file_to_read, log_file_name);

ブレークポイントを使用したところ、 logger_file_to_read には以下が含まれていることがわかりました。

C:\Users\bout0_000\AppData\Local\Diagnostic_Tool_Blue_Screen\診断ツール ブルー スクリーン\log

そして、その log_file_name には以下が含まれます。

\logger.txt

しかし、LoggerFile にはファイル名のみが含まれていることがわかります: \logger.txt ディレクトリなし。

それはなぜですか?

4

2 に答える 2

7

それはドキュメントにあります:

path2 にルートが含まれていない場合 (たとえば、path2 が区切り文字またはドライブ指定で始まらない場合)、結果は 2 つのパスが連結され、その間に区切り文字が挿入されます。path2 にルートが含まれる場合、path2 が返されます。

于 2013-08-02T03:28:03.713 に答える
0

次のように、ファイル名にバックスラッシュをドロップします。

string log_file_name = "logger.txt";
于 2013-08-02T04:37:06.823 に答える