声明后,变量似乎正在改变类型

时间:2018-05-26 15:30:28

标签: c# casting type-conversion

我已经编写了这段代码,用于我正在进行的学习练习,如果碰巧有所作为,我会使用c#离线编译器应用程序安装我的Android手机。

每当我尝试运行该程序时,会弹出一个编译错误,告诉我我正在尝试将int类型隐式转换为byte。我尽我所能检查了所有内容,但我无法找到问题,而且我似乎无法在线找到解决方案或问题。我有一种感觉,它是一种简单的东西,我还没有学到。这是代码......任何想法?

public static class Program
{
    public static void Main()
    {

        for (byte i = 1; i < 255; i++)
        {
            byte mask = 4;
            byte filteredNumber;

            filteredNumber = i & mask;

            if (filteredNumber == 4)
                Console.WriteLine(i);
        }
    }
}

问题似乎发生在filteredNumber = i & mask;

1 个答案:

答案 0 :(得分:0)

这是因为&运算符将int值作为参数并返回int值。

enter image description here

尝试使用

转换结果
filteredNumber = (byte) (i & mask);