我想知道我怎么可能把这个神圣的if和&&检查的巢,转换成一个简单的for循环?任何解决方案都是感激的,因为我完全迷失了,我的大脑已经放弃了。
if (localModulebytes[i + 1] == convertedByteArray[1]
&& localModulebytes[i + 2] == convertedByteArray[2]
&& localModulebytes[i + 3] == convertedByteArray[3]
&& localModulebytes[i + 4] == convertedByteArray[4]
&& localModulebytes[i + 5] == convertedByteArray[5]
&& localModulebytes[i + 6] == convertedByteArray[6]
&& localModulebytes[i + 7] == convertedByteArray[7]
&& localModulebytes[i + 8] == convertedByteArray[8]
&& localModulebytes[i + 9] == convertedByteArray[9]
)
{
// Code
similarities++;
}
我试了一下这个代码,它给出的相似性远远超过了我的Hive代码:
for (var j = 1; j < 9; j++)
{
if (localModulebytes[i + j] == convertedByteArray[j])
{
similarities++;
}
}
3条答案
按热度按时间vh0rcniy1#
这是因为你在循环中增加了更多的相似度。
xyhw6mcr2#
GreenChicken的答案是使用for循环来实现这一点,但也有LINQ:
这不一定更好,但我会提供另一种选择。
klr1opcd3#
要将初始代码转换为循环检查,可以执行以下操作:
但是,考虑到您使用了变量名称
similarities
,我怀疑您想计算这些项目中有多少是相同的,而不是所有的9。您的后续评论表明我的假设是不正确的。