我的意思是,当您需要存储或传递 URL 时,使用字符串可能是一种不好的做法,而更好的方法是使用 URI 类型。然而,让复杂的事情变得更加复杂和臃肿是很容易的。
因此,如果我要写入磁盘上的文件,我是传递一个字符串,作为文件名和文件路径,还是有更好的类型更适合需求?
这段代码似乎很笨重,而且容易出错?我还需要检查它是否是一个有效的文件名,如果字符串包含数据并且列表还在继续。
private void SaveFile(string fileNameAndPath) { //保存文件的正常内容 }
文件名可以使用字符串。.Net 框架使用字符串作为文件名,这似乎很好。
要验证文件名,您可以尝试使用正则表达式或针对 System.IO.Path.GetInvalidFileNameChars 检查无效字符。但是,通过处理尝试创建文件时将发生的异常,处理无效文件名的异常情况可能更容易——而且无论如何你都需要这样做......
不幸的是,字符串是在 .NET 中执行此操作的惯用方式 - 如果您查看FileStream构造函数等内容,它们使用字符串。
您可以考虑使用FileInfo(or DirectoryInfo) 但这有点不寻常。
您可以使用 FileInfo(来自 System.IO)来传递它,但在引用文件时字符串或多或少是标准的。
您始终可以使用 Path.GetFileName({yourstring}) 从路径中获取文件名。
字符串很好,但您应该努力确保将文件保存到您期望的目录中。
如果您正在使用文件路径,则通常使用字符串。
如果您正在使用 URL,您可以考虑使用System.Uri类,例如
Uri myUri = new Uri(myUrl, UriKind.Absolute);
这将允许您使用 uri.Host、uri.Absolute 路径等属性。它还将为您提供 url 中单独子文件夹的字符串数组 (Segments)。
MSDN 信息在这里:System.Uri