我想将旧的VB6项目升级到更新的技术,我在下面有这些值,不知道如何翻译它们。
Chr(&H31) & Chr(&H1) & Chr(&H50) & Chr(&H31) & Chr(&H17)
所以我的第一个问题是如何识别这些?是十六进制值还是其他什么?我似乎没有在ascii表中找到它们。 'H'代表什么?
其次,我如何制作一个c#字符串呢?
答案 0 :(得分:8)
Chr
将字符代码转换为字符,在C#中你可以直接转换:
char c1 = (char)0x31;
(也改为使用C#和十六进制文字而不是VB6')
但是在构建字符串时,使用转义更容易:
string s1 = "\x31\x01\x50\x31\x16";
答案 1 :(得分:1)
作为你的&#34;角色&#34;包括特殊/控制/不可打印的字符(1<SOH>P1<ETB>
),我希望这实际上是非字符串数据,因此不应该存储为字符串。
根据实际需要的使用情况,您最好使用字节数组:
byte[] data = new byte[] { 0x31, 0x01, 0x50, 0x31, 0x17 }
答案 2 :(得分:0)
如果您无法识别函数参数并仍然得到相同的结果,您始终可以从C#应用程序中调用本机VB函数。
Microsoft.VisualBasic
Strings.Chr
您对结果更有信心:)