3

我在代码中有一个变量,可以将文件路径或 url 作为值。例子:

http://someDomain/someFile.dat
file://c:\files\someFile.dat
c:\files\someFile.dat

所以有两种表示文件的方法,我不能忽略其中任何一种。这种变量的正确名称是什么:路径、url、位置?

我正在使用第 3 方 api,因此我无法更改语义或分离更多变量。

4

6 回答 6

7

前两个是 URL,第三个是文件路径。当然,file:/// 协议也只是指一个文件。

使用Uri类时,您可以使用IsFileLocalPath属性来处理 file:/// Uris,在这种情况下,您也应该这样命名它。

于 2009-04-30T14:05:53.893 回答
2

就个人而言,我将有问题的变量称为“fileName”

于 2009-04-30T14:07:04.797 回答
2

实际上,正式的 URL 是 file:///c|/files/someFile.dat

urls 总是以 protocol:// 开头,然后是路径 + 名称,以 '/' 作为分隔符。邪恶的windows IE有时用'\'代替'/',但正式用法是'/'。

于 2009-04-30T14:12:10.837 回答
1

选择一个您将在内部使用的开始。如果您需要支持 URL,请在内部各处使用 URL,并使用任何可以设置变量的方法检查它是否具有文件路径,并立即将其强制为 URL。

于 2009-04-30T14:08:08.007 回答
0

如果您使用的路径包含协议“file://”,那么它实际上是一个 url。

于 2009-04-30T14:05:13.723 回答
0

如果这些值对您的应用程序不透明,您可能会发现将它们建模为一个类会更好。否则,每当您要对这些值采取行动时,您可能会发现自己正在编写如下代码:

if (variable.StartsWith("http://") || variable.StartsWith("file://")) {
  // 处理网址
}
别的 {
  // 处理文件路径
}

您可以将一些有关值处理的功能折叠到您的类中,但最好将其视为不可变值类型。

为您的类使用描述性名称,例如 FileLocation 或任何适合您命名法的名称。然后很自然地声明名为 fileLocation 或 inputFileLocation 的 FileLocation 变量,甚至如果你草率的话,甚至是 fl。

于 2009-04-30T15:04:06.220 回答