我在这个for循环中弄了什么?

所以我在这里想要实现的基本上是在网络中进行子网 lookup

for (i = 0; i < sorEgy.Length; i++)
{
    if (sorEgy[i] == 1 && sorKetto[i] == 1)
    {
        Console.Write("1");
    }
    else
    {
        Console.Write("0");
    }
}

sorEgy是二进制的给定IP:11000000101010000000000000100000是给定IP的192.168.0.32。

sorKetto是二进制掩码:11111111111111111111111111100000000是/ 24,表示24个1-s。

有了这个for循环,如果两个字符串在 i 处都有一个 1 ,我想在输出中写1,如果不匹配则写0。我真的想不出什么问题。

kakalb 回答:我在这个for循环中弄了什么?

所索引的值是"100101010101111"形式的字符串...字符串上的索引运算符产生char,并且可以将char与{{1} },您正在这样做。但是int是该字符的 Unicode 16位编码,而不是该字符的 text

Unicode编码1是“标题开始”而不是字符int的不可打印格式代码。如果要与字符 1进行比较,请使用1,而不要使用'1',或使用字符1的Unicode编码,是1。至少可以说,这样做的首选方式是49,因为与'1'相比看起来很奇怪。

本文链接:https://www.f2er.com/3157195.html

大家都在问