-2

\ を使用してファイルパスを取得しています

    string driveLetter = "C:\\";
    string folderName = "324Files";
    string fileName = "rpt3434.txt";
    string stringPath = driveLetter + "MainFolder\\Report" + folderName + "\\" + fileName;

代わりに @ を使用したいのですが、より面倒です。

    string driveLetter = @"C:\";
    string folderName = "324Files";
    string fileName = "rpt3434.txt";
    string stringPath = driveLetter + @"MainFolder\Report" + FolderName + @"\" + fileName;

私はどちらがそれを行うための好ましい方法であるか疑問に思っています?

4

2 に答える 2

11

Path.Combineメソッドは、これらの問題を解決するためにここにあります。

string driveLetter = "C:\\";
string folderName = "324Files";
string fileName = "rpt3434.txt";
string stringPath = Path.Combine(driveLetter,"MainFolder", "Report", folderName, fileName);
Console.WriteLine(stringPath);

C:\MainFolder\Report\324Files\rpt3434.txt

または(本当に「レポート」とフォルダー名を連結したい場合

string stringPath = Path.Combine(driveLetter,"MainFolder", "Report" + folderName, fileName);

C:\MainFolder\Report324Files\rpt3434.txt

追加する必要があります

using System.IO;

Path クラスには、ファイルとパスを表すために使用される文字列を操作するときに非常に役立つ多数のメソッドが含まれています。また、このクラスは、さまざまな基盤となるオペレーティング システムで使用される構文を区別することもできます。したがって、ハードコードされたバックスラッシュを修正する必要がある一方で、コードを別のプラットフォームに移植する予定がある場合は、これが非常に望ましいです。

于 2013-03-27T19:48:09.807 に答える
1

次のようなことを試してください:

string stringPath = string.Format(@"{0}MainFolder\Report{1}\{2}", driveLetter, folderName, fileName);
于 2013-03-27T19:45:32.977 に答える