.NET StringBuilder 和逐字字符串文字



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

string file_path = @"D:IntranetStudentsDailyMarks";

还有一个StringBuilder,它根据一些ID和日期时间生成文件名:

... sb.Append(document.Type); sb.Append(document.Id); sb.Append(DateTime.Now.ToShortString());

最后我做以下事情

file_path + sb.toString();

但是我的应用程序是一个例外。调试会话后,我看到实际上我的file_path

file_path = "D:\Intranet\Students\DailyMarks\...";

据我了解,它发生在原始文件与 StringBuilder 的 toString() 调用连接之后。我试图用这样的东西替换file_path字符串:

file_path = file_path.Replace(@"\",@"");

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

这可能是由 DateTime.Now.ToShortString() 方法引起的,该方法将禁止的字符添加到路径 ( : )。

这完全没问题。

"D:\Intranet\Students\DailyMarks\..." == @"D:IntranetStudentsDailyMarks..."

常规字符串中,您需要转义斜杠,在逐字记录中,它是自动完成的

我今天遇到的另一个类似情况是发送日语":"(冒号,里面有整个)作为文件名的元素,它起作用了。我想知道,为什么俄罗斯冒号叫例外,而日本人不叫。 非常有趣。

相关内容

  • 没有找到相关文章

最新更新