0

我无法理解这两行以及为什么我们用子字符串切根:

root=AppDomain.CurrentDomain.BaseDirectory;
C.FileName = root.Substring(0, root.Length - 10) + "etat_selection_formula.rpt";
4

3 回答 3

1

您应该强烈考虑使用 System.IO.Path 类来操作文件路径,而不是直接操作字符串。它知道 UNC 路径的语义,不会将您与原始(显然是短视的)实现联系起来。当路径的第一部分不是正好 10 个字符时会发生什么?您的整个应用程序中断只是因为有人移动或重命名了文件夹。

MSDN 文档(包括使用示例)在这里:http: //msdn.microsoft.com/en-us/library/system.io.path.aspx

于 2012-06-18T11:56:51.507 回答
0

没有必要正常进行。

有人只是使用它来替换另一个报告路径或页面名称。

在我看来,这是糟糕的代码,如果需要,应该将基本路径存储在一个常量中。这样会更具可读性。

于 2012-06-18T11:50:58.820 回答
0
root=AppDomain.CurrentDomain.BaseDirectory; 
C.FileName = root.Substring(0, root.Length - 10) + "etat_selection_formula.rpt";

第一行只是获取您的应用程序正在运行的目录。第二行从中删除最后 10 个字符并添加一些报告的名称(“etat_...”)。

至于你为什么这样做……好吧,如果你不知道——我也不知道。最佳猜测:您想要建立一个目录(在某个固定路径中),然后附加您的标准报告。

如果是这样:不好的做法 - 你应该重新考虑这一点。

于 2012-06-18T11:51:12.520 回答