我有一个项目,例如使用 RFID 的注册系统。当用户启用注册模式时,显示的每张卡应该只保存一次。为此,我使用了一个数组,然后检查数组中的相同代码以查看它是否已经存在。但是我在增加数组索引时遇到了问题。
在 Form1 类中,我进行了初始化:
string rx_data = "";
string last_data = "";
string[] availablePlayers = {""};
int plIndex = 0;
在下面的代码中,如果我使用plIndex
,它只接收第一张卡片,并且似乎它停止再次调用此处理程序。
public void WriteRxData(object sender, SerialDataReceivedEventArgs e)
{
if (connection.IsOpen && !cardSaveCon.IsOpen)
{
try
{
rx_data = connection.ReadLine(); // check how the data ends
if (!availablePlayers.Any(rx_data.Contains))
{
availablePlayers[plIndex] = rx_data;
receivedData.AppendText(rx_data);
plIndex++;
}
}
catch (Exception err)
{
connection.Close();
}
}
但是,如果我使用硬编码的索引值,它就可以工作。我想知道如何处理这个问题,因为这必须适用于其他语言。我是 C# 的新手,所以我可能缺少一些部分。