1

我必须将 VB6 程序重构为 C#,并且坚持理解以下几行:

Set myFileSystemObject = New FileSystemObject
Set myTextStream = myFileSystemObject.OpenTextFile("myTextFile.txt")
Open sPrinterPort For Output As iFileNumber
Print #iFileNumber, myTextStream.ReadAll
Close #iFileNumber

我确实知道一般会发生什么,但由于我不习惯 VB 语法,我想确切地知道是什么

Print #iFileNumber, myTextStream.ReadAll

做。更具体地说,#前面的iFileNumber作用。为什么会在那里?变量本身不足以在流上打印吗?

这仅仅是为了准确理解代码中发生的事情。

4

2 回答 2

4

Print #iFileNumber, myTextStream.ReadAll将 by 返回的字符串打印ReadAll到 number 打开的文件中iFileNumber(并且因为语句后面没有分号,所以最后也加上vbNewLine了。)

#对于“数字”)自古以来就存在。VB6 只是支持它。它在执行方面没有任何作用。它用于帮助提高可读性并使语言更自然。大声说出来:

Open "1.txt" For Input As 1

对比

Open "1.txt" For Input As #1
于 2012-12-04T11:17:13.167 回答
0
Print #iFileNumber, myTextStream.ReadAll

在尝试自己理解这一点时,我遇到了这个网站,其中有一个关于打印到打印机的部分。他们说#some_integer 表示频道号:

通道号是 0 到 999 之间的任何整数值,前面带有井号 (#);它指示设备的特定通道。

通道是您的程序与输入或输出设备(例如打印机或文件)之间的连接。

于 2019-09-04T18:31:08.057 回答