文件路径是网址吗?

时间:2009-04-30 14:02:16

标签: c# url file naming-conventions filepath

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

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

所以有两种表示文件的方法,我不能忽略它们中的任何一种。 这样一个变量的正确名称是什么:path,url,location?

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

6 个答案:

答案 0 :(得分:7)

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

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

答案 1 :(得分:2)

就个人而言,我会调用有问题的变量“fileName”

答案 2 :(得分:2)

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

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

答案 3 :(得分:1)

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

答案 4 :(得分:0)

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

答案 5 :(得分:0)

如果值对您的应用程序不透明,您可能会发现将它们建模为类更好。否则,无论何时你要对这些值采取行动,你都会发现自己编写这样的代码:

if (variable.StartsWith("http://") || variable.StartsWith("file://")) {
  // Handle url
}
else {
  // Handle file path
}

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

为您的类使用描述性名称,例如FileLocation或任何适合您的术语的名称。那么声明FileLocation变量名为fileLocation或inputFileLocation,甚至fl,如果你是马虎的话,那将是非常自然的。