当Writeline(构建器)执行时,为什么Print(构建器)不起作用?

时间:2015-08-20 15:20:15

标签: vb.net printing console.writeline

我正在开发一个在线编译器,这个代码可以工作:

Sub Main()

    Dim builder As New System.Text.StringBuilder

    For i As Integer = 1 to 54    
        builder.Append(i & " = " & ConvertToLetter(i) & vbCrLf)
    Next
    Console.WriteLine(builder)
End Sub

但是,如果将Console.WriteLine替换为“Print”,则在编译时会出现此错误:

/home/cg/root/main.vb(11,11):error VBNC30518:CHANGEME

有人可以解释为什么会这样吗?顺便说一句,如果它可以帮助你,ConvertToLetter是微软的通用转换(列)到字母功能。它返回一个字符串。

2 个答案:

答案 0 :(得分:1)

这是两个不同的功能:

Console.Writeline - >字符串输出到控制台

打印 - >将显示格式的数据写入顺序文件

请参阅:https://msdn.microsoft.com/en-us/library/office/gg264278.aspx

答案 1 :(得分:1)

你有vba和vb.net,所以我不确定你到底在找什么。如果您要将其打印到VBA中的即时窗口,可以使用

Debug.Print builder

虽然VBA中没有stringbuilder,但您必须将其作为字符串处理。

要从VBA中的号码中获取一封信,您可以使用此

Function Col_Letter(lngCol As Long) As String
    Dim vArr
    vArr = Split(Cells(1, lngCol).Address(True, False), "$")
    Col_Letter = vArr(0)
End Function 

在VB.NET中你可以做到

Debug.Print(builder)

你必须使用

Imports System.Diagnostics

以下是VB.NET的更多信息,这里有更多信息。

How do I output code while debugging in Visual Basic 2010?

这是我使用的vb.net转换为字母功能。

private String Number2String(int number, bool isCaps)
{
    Char c = (Char)((isCaps ? 65 : 97) + (number - 1));
    return c.ToString();
}