好的,在vb.net中我需要一些C#中的示例代码。通常不是什么大不了的事,但我的大脑完全锁定了这个While循环。总体代码正在使用XML字符串和文件执行PUT Web请求。 While循环正在读取文件的字节并添加到Web请求中(我认为 - 再次将大脑锁定)。像往常一样,感谢您提前提供任何帮助。
这是我在vb.net中需要的C#while循环
while ((bytesRead = postData.Read(buffer, 0, buffer.Length)) != 0)
{
requestStream.Write(buffer, 0, bytesRead);
}
这是我目前在vb.net中的内容(这是错误的)
While (bytesRead, postData.Read(buffer, 0, buffer.Length)) <> 0
requestStream.Write(buffer, 0, bytesRead)
End While
答案 0 :(得分:0)
表达式中的赋值在vb.net中不起作用。实际上需要更多代码:
bytesRead = postData.Read(buffer, 0, buffer.Length)
While bytesRead <> 0
requestStream.Write(buffer, 0, bytesRead)
bytesRead = postData.Read(buffer, 0, buffer.Length)
End While
答案 1 :(得分:0)
我不相信您可以在json.dumps
条件语句中按预期执行赋值,因为Visual Basic使用While
运算符进行相等比较和赋值。这是C#的一个好处,因为它可以轻松区分两者(因为它们是不同的运算符)。
相反,首先尝试在第一次调用的循环之外读取它,然后在循环中为所有后续调用处理它:
=
答案 2 :(得分:0)
C#与其他C语言一样允许使用赋值作为表达式。 VB不允许这样做。您可以明确地执行任务(如在其他答案中所做的那样),也可以将其转换为函数。
作为后者的一个例子:
Function ReadBytes(<insert correct declaration for buffer here>, ByRef bytesRead as Integer) As Boolean
bytesRead = postData.Read(buffer, 0, buffer.Length)
Return bytesRead <> 0
End Function
While(ReadBytes(buffer, bytesRead))
requestStream.Write(buffer, 0, bytesRead)
End While
根据您未展示的其他详细信息,您可能还需要postData
作为ReadBytes
的参数。