int IComparable.CompareTo(object obj) { EPC_data temp = (EPC_data)obj; { return(string.Compare(this.epc, temp.epc)); } }
public static void HandleTagData(byte cmdID, IntPtr pData, int length) { string tmpEPC = ""; if (length <= 4) { return; } byte[] data = new byte[32]; Marshal.Copy(pData, data, 0, length); for (int j = 0; j < length - 4; ++j) { tmpEPC += string.Format("{0:X2} ", data[j]); } lock (rfidUpdataMutex) { int i; for (i = 0; i < rfids.Count; ++i) { if (tmpEPC == rfids[i].epc) { rfids[i].count++; rfids[i].antNo = data[length - 1]; rfids[i].devNo = 0; rfids[i].timeOut = 0; break; } } //发现新标签 if (i >= rfids.Count) { EPC_data epcdata = new EPC_data(); epcdata.epc = tmpEPC; epcdata.antNo = data[length - 1]; epcdata.devNo = 0; epcdata.count = 1; //清空标记 epcdata.timeOut = 0; rfids.Add(epcdata); } } }