c#使用"@"表示斜杠分隔符

Nat*_*Pet -2 c#

我正在使用\来获取文件路径

    string driveLetter = "C:\\";
    string folderName = "324Files";
    string fileName = "rpt3434.txt";
    string stringPath = driveLetter + "MainFolder\\Report" + folderName + "\\" + fileName;
Run Code Online (Sandbox Code Playgroud)

我想使用@而不是发现它更麻烦:

    string driveLetter = @"C:\";
    string folderName = "324Files";
    string fileName = "rpt3434.txt";
    string stringPath = driveLetter + @"MainFolder\Report" + FolderName + @"\" + fileName;
Run Code Online (Sandbox Code Playgroud)

我想知道哪一个是首选方式呢?

Ste*_*eve 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
Run Code Online (Sandbox Code Playgroud)

或者(如果你真的想用foldername连接"Report"

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

C:\MainFolder\Report324Files\rpt3434.txt
Run Code Online (Sandbox Code Playgroud)

需要补充

using System.IO;
Run Code Online (Sandbox Code Playgroud)

Path类包含许多方法,在处理用于表示文件和路径的字符串时非常有用.此类还能够区分不同底层操作系统使用的语法.因此,如果您计划将代码移植到不同的平台,那么这是非常可取的,而硬编码的反斜杠则需要修复.

  • 我不认为这与OP有什么相同 - 不远,但`Report\324Files`应该是`Report324Files`. (2认同)