VB转换C#赋值

时间:2017-06-12 22:35:12

标签: c# vb.net

任何人都可以将其翻译成Visual Basic吗? (大多数情况下它都有效,但对于@符号。什么是VB等价物?)

private static string desktop = Environment.GetEnvironmentVariable("UserProfile") + @"\Desktop\";

1 个答案:

答案 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机器),也应该可以使用。