任何人都可以将其翻译成Visual Basic吗? (大多数情况下它都有效,但对于@符号。什么是VB等价物?)
private static string desktop = Environment.GetEnvironmentVariable("UserProfile") + @"\Desktop\";
答案 0 :(得分:3)
C#@"\string"
行为是默认情况下VB.Net的工作方式。您只需删除@
:
Private Shared desktop As String = Environment.GetEnvironmentVariable("UserProfile") & "\Desktop\"
虽然您在VB.Net和C#中都应该更喜欢Path.Combine()
,如下所示:
Private Shared desktop As String = IO.Path.Combine(Environment.GetEnvironmentVariable("UserProfile"), "Desktop")
这有助于您的代码自动移植到可能使用不同目录分隔符的位置(例如linux / Mac,它使用/
而不是\
)。
但Windows也有一些名为"文件夹重定向"。默认情况下,Desktop
文件夹名为"桌面"并且位于用户个人资料文件夹的正下方,但这不是。它实际上在商业环境中很常见,因为这些文件夹可以重定向到某个服务器上的网络共享,因此可以轻松备份这些文件。你真的应该看这里:
Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
如果此代码需要移植到不同的平台,即使文件夹结构完全不同(例如,Mac,Gnome,KDE或Enlightenment机器),也应该可以使用。