我有一种方法可以获取一些数据(来自transmussion)并且该方法被多次调用。我想在这种方法中使用最后一次传输的数据。但
private List<byte> _dataOfLastMsg = new List<byte>();
internal List<msg> GetData (Imsgod msgod, List<Byte> data)
{
if (data == null || data.Count == 0)
return transmission;
// Call x
// USING _dataOfLastMsg
...
...
if (data.Count != 0)
_dataOfLastMsg = data;
}
示例:
消息3:20 0 0 0 20
在调用3时,_dataOfLastMsg应为0 0 70 0 0,因为_dataOfLastMsg的调用位于此行之前:_dataOfLastMsg = data
;
什么错了?抱歉我的英文不好
答案 0 :(得分:0)
大约有90%的代码需要给你一个合理的答案,但是这里需要考虑一下。
你在哪里打电话给这堂课? 是保留实例还是每次都重新创建? 什么是实际输出数据以及如何调用它? 什么是传输,为什么在数据为空时返回它? //呼叫x是什么意思? 您正在为该计划提供哪些数据以及如何处理?
从我可以模糊地告诉你,在你的第三次调用中,你的传输被返回而不是_dataOfLastMsg,但唯一的方法是在方法开始时打一个断点并点击debug来查看所采用的逻辑路径你的程序以及变量如何变化。