-1
我总是使用C#转换为VB.NET,它的工作原理非常完美。 但现在我有一个小问题:将C#的一行转换为VB.net
private static int[] ChunkInput(string input)
{
var numberOfBlocks = ((input.Length + 8) >> 6) + 1;
var blocks = new int[numberOfBlocks * 16];
for (var i = 0; i < input.Length; i++)
{
blocks[i >> 2] |= input[i] << ((i % 4) * 8);
}
blocks[input.Length >> 2] |= 0x80 << ((input.Length % 4) * 8);
blocks[numberOfBlocks * 16 - 2] = input.Length * 8;
return blocks;
}
一切都被我的转换器正确地转换到一个小行:
blocks[i >> 2] |= input[i] << ((i % 4) * 8);
-> was made to :
blocks(i >> 2) = blocks(i >> 2) Or input(i) << ((i Mod 4) * 8)`
失败消息是: 的< < - 运算符不为“char”和“integer”类型定义。
我不知道那些字节偏移opperators真正做到,这就是为什么我不能在所有解决这个问题:(有谁能帮我吗?
更换'输入(I)'和'升序(输入(I))' – Ofiris
什么是数据类型,您从转换器numberOfBlocks得到 – Syler
您使用的64位vb.net? – Syler