我在代码中有一个变量,可以将文件路径或url作为值。例子:
http://someDomain/someFile.dat
file://c:\files\someFile.dat
c:\files\someFile.dat
所以有两种表示文件的方法,我不能忽略它们中的任何一种。 这样一个变量的正确名称是什么:path,url,location?
我正在使用第三方API,因此我无法更改语义或分离更多变量。
答案 0 :(得分:7)
前两个是URL,第三个是文件路径。当然,file:///协议也仅指文件。
使用Uri类时,您可以使用IsFile和LocalPath属性来处理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,如果你是马虎的话,那将是非常自然的。