如上图,求解。
表达式未计算,直接返回了false.

解决方案 »

  1.   

    http://msdn.microsoft.com/ZH-cn/LIBRARY/a7a250bs(v=vs.90).ASPX
      

  2.   

    CmdData[i] == RecData
    只是取字符串数组中指定索引项的值,然后判断是否和RecData相等,这样怎么会改变值?
      

  3.   

    你的 CmdData[i] 和 RecData 分别是什么类型的?代码是什么样的?
      

  4.   

    你不用i,
    用个具体的值,如1,2,3看看,
    还有,i有没有在循环,或增加减少之类都有可能导致这种情况发生
    而且RecData 的值有空格,返回false
      

  5.   

    private System.IO.Ports.SerialPort SportTest;StringBuilder Cmd = new StringBuilder();
                    int DataCount = SportTest.BytesToRead;
                    byte[] ReceivedData = new byte[DataCount];
                    SportTest.Read(ReceivedData, 0, DataCount);
                    List<Model.Command> MSurplusList = CommandList;
                    for (int i = 0; i < ReceivedData.Length; i++)
                    {
                        string RecData= String.Format("{0:X2} ", ReceivedData[i]);
                        List<Model.Command> MTempList = new List<Model.Command>();
                        foreach (Model.Command modelcmd in MSurplusList)
                        {
                            string[] CmdData = modelcmd.Cmd.Split(' ');
                            if (CmdData.Length > i)
                            {//命令长度是否足够 
                                if (CmdData[i] == "DATA")
                                { }
                                else if (CmdData[i] == "CHECK")
                                { }
                                else if (RecData == CmdData[i])
                                {
                                    MTempList.Add(modelcmd);
                                }
                            }
                        }
                    }    
                }
      

  6.   

    CmdData[i] == RecData 后面有空字符串“10 ” 多余一个空格