Arrays 在数组的内容中搜索不同的值

Arrays 在数组的内容中搜索不同的值,arrays,Arrays,如果任何数组成员与其他成员不同,我需要搜索数组的内容 我在阵列中注册设备ID,并必须检查是否连接了任何不同的设备?任何可用端口都可能连接错误的设备。所以在我拿到所有ID后,我需要检查所有ID是否相同。最多可同时连接6台设备。设备ID将在运行时确定 我写了下面的代码,但它不是一个有效的。此外,我需要错误的设备的索引,不能通过这个代码获得 private byte ArrayCheck(byte[] array) { byte buffer=0; bool r

如果任何数组成员与其他成员不同,我需要搜索数组的内容

我在阵列中注册设备ID,并必须检查是否连接了任何不同的设备?任何可用端口都可能连接错误的设备。所以在我拿到所有ID后,我需要检查所有ID是否相同。最多可同时连接6台设备。设备ID将在运行时确定

我写了下面的代码,但它不是一个有效的。此外,我需要错误的设备的索引,不能通过这个代码获得

    private byte ArrayCheck(byte[] array) {
        byte buffer=0;
        bool result=false;
        for (byte i = 0; i < array.Length; i++)      
        {
            if (array[i] != 0)                      
                buffer = array[i];
        }

        for (byte i = 0; i < array.Length; i++)  
        {
            if (array[i] != 0)                      
            {
                if (array[i] == buffer)
                    result = true;         
                else
                {
                    result = false;         
                    break;
                }
            }
        }
        if (result)
            return buffer;
        else
            return 0;
    }
专用字节数组检查(字节[]数组){
字节缓冲区=0;
布尔结果=假;
for(字节i=0;i

已经感谢了所有的共同回答者:注意这些评论,他们会让问题更清楚

OOP:代码看起来像Java,对吗? 我不会做比较,我只是数一数。因此,只需遍历数组一次,即可构建“bucket”。例如,您可以使用一个映射来实现这一点,其中id是键,count是值。然后找出计数最高的项目,将其从地图中删除,剩下的关键点就是您的“错误”ID。也许有比映射更有效的实现。也许您甚至可以创建自己的小数据结构,获取一个id,计算它,然后给您“错误”的id列表。
这样,您甚至可以处理2个以上的不同ID。

对于两个ID具有相同计数的情况,您必须了解客户的需求。也许你可以选择“第一个”,这样它或多或少是随机的。

我不太明白,这是怎么回事。什么港口?在您的代码中,您使用一个字节来迭代数组-您确定这足够了吗?你认为什么是“错误”的装置?设备是否应该具有相同的id?我刚才看到:在第二个循环中,缓冲区将始终是array[array.Length-1]。所以你只是根据最后一个数组条目检查数组。嘿,费尔多,让我说清楚。有一个设备,您可以在其上放置6个从属设备。所以,一个接一个地阅读所有这些设备,它们告诉我它们的ID,我把它们放在一个数组中。要测试所有6台设备,它们必须相同。所以,在我读了所有的ID之后,我需要检查我的数组是否发送了相同的ID。我必须编写的方法必须返回错误的ID索引,这样我才能向用户发出警告。我需要以多数票来决定哪个装置是错的。例如,4设备发送给我的ID为“x”,其余2设备发送的ID为“y”,在这种情况下,y设备是错误的(如果它们是3到3,我就完蛋了)。设备的顺序可以是随机的。(xyxyxx或xxxxyy)开始时,听起来太容易了,但在某些情况下,无法进行参数化编程。我希望这一次我能清楚地描述你的建议对我们有所启发,但是一些代码在一开始就非常有用。顺便说一下,我用的是c。正如你所看到的,我很擅长C,但C对我来说是一个新事物。在C语言中,你可以使用字典。也许是字典(我不太确定C中的类型)。这样,您就可以将id添加到列表中,并将计数作为list.length。。。对不起,我现在没有时间写代码。