gpt4 book ai didi

c# - 在VB6和C#中写入相同数据格式的二进制文件

转载 作者:行者123 更新时间:2023-11-30 22:17:28 25 4
gpt4 key购买 nike

我发现了一个问题。我必须使用 VB6 和 C# 编写二进制文件。当我编写如下所述的同一组变量时,两个输出都不同。我可以猜到,它们表示字符串的方式在 C# 和 VB6 中是不同的。我只是想知道有什么方法可以使两者的写作相似。因为有时候可能需要用C#和VB写同样的内容

VB6

nFileNum = FreeFile
stringVal = ""
stringVal2 = "Hello"
i = 25
sFilename = "C:\Temp\fromVB.bin"
Open sFilename For Binary As #nFileNum
Put #nFileNum, , stringVal
Put #nFileNum, , stringVal2
Put #nFileNum, , i
Close #nFileNum

C#

    const string fileName = @"C:\Temp\fromC#.bin";
string stringVal = "";
string stringVal2 = "Hello";
int i = 25;

using (BinaryWriter writer = new BinaryWriter(File.Open(fileName, FileMode.Create)))
{
writer.Write(stringVal);
writer.Write(stringVal2);
writer.Write(i);
}

最佳答案

这几乎不是相同的代码。您不应该再在 VB.Net 中使用旧的基于文件号的 IO。该 API 仍然存在,其唯一目的是更容易将代码从 VB6 移植到 .Net。 VB.Net 应该使用与 C# 代码相同的 API。如果您想要匹配的结果,则更是如此:

Const fileName As String = "C:\Temp\fromVB.bin"
Dim stringVal As String = ""
Dim stringVal2 As String = "Hello"
Dim i As Integer = 25

Using writer As New BinaryWriter(File.Open(fileName, FileMode.Create))
writer.Write(stringVal)
writer.Write(stringVal2)
writer.Write(i)
End Using

关于c# - 在VB6和C#中写入相同数据格式的二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16705809/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com