.NET StringBuilder和逐字字符串文字

Isk*_*yev 4 c# stringbuilder verbatim-string

在我的应用程序中,有一个与PdfSharp一起使用的类可以生成一些PDF报告.我将输出文件夹指定为带有逐字的字符串

string file_path = @"D:\Intranet\Students\DailyMarks\";
Run Code Online (Sandbox Code Playgroud)

还有一个StringBuilder,它根据一些ID和DateTime生成文件名:

... sb.Append(document.Type); sb.Append(document.Id); sb.Append(DateTime.Now.ToShortString());
Run Code Online (Sandbox Code Playgroud)

最后我做了以下几点

file_path + sb.toString();
Run Code Online (Sandbox Code Playgroud)

但是我的应用程序遇到了异常.调试会话后,我看到实际上我的file_path

file_path = "D:\\Intranet\\Students\\DailyMarks\\...";
Run Code Online (Sandbox Code Playgroud)

据我所知,它是在源文件与StringBuilder的toString()调用连接之后发生的.我试图用这样的东西替换file_path字符串:

file_path = file_path.Replace(@"\\",@"\");
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我哪里做错了?

Ale*_*ici 5

可能这是由DateTime.Now.ToShortString()方法引起的,该方法在路径(:)中添加了禁用字符.