将C#格式转换为VB

Bil*_*ill 1 c# vb.net string.format c#-to-vb.net

我相信这对你们来说是一个简单的问题,但我不知道这位开发人员在做什么.

name = String.Format(MyStringBuilder + "");
Run Code Online (Sandbox Code Playgroud)

如果我将其转换为VB,我会收到消息"operator +未定义类型system.text.stringbuilder和string".如果我使用&,同样的事情.

Joe*_*ton 11

看起来编写它的人试图使用+运算符与空字符串一起强制将MyStringBuilder隐式转换为字符串.

要在VB中执行此分配,您只需:

name = MyStringBuilder.ToString()
Run Code Online (Sandbox Code Playgroud)


Ant*_*ram 5

从最严格的意义上讲,原始代码中的MyStringBuilder可以是一个null实例,此时对.ToString()进行显式调用会引发异常.但是,提供的代码示例将正确执行.在VB中,您可能想说

Dim name As String
If MyStringBuilder Is Nothing Then
   name = String.Empty
Else
   name = MyStringBuilder.ToString()
End If
Run Code Online (Sandbox Code Playgroud)