Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何修复';无法隐式转换类型';C#中的错误?_C# - Fatal编程技术网

如何修复';无法隐式转换类型';C#中的错误?

如何修复';无法隐式转换类型';C#中的错误?,c#,C#,我正在进行flare on挑战(Memecat Battlestation),我决定。。好吧,绕过它,演示共享软件一被绕过,但损坏的标志,所以我想我会尝试完整版本,我尝试了完整版本,但我得到了一个错误 这是第一个名为Memecat Battlestation的Flare On挑战,我运行的是64位Windows 7,错误在VictoryForm.cs中 private static IEnumerable<byte> AssignFelineDesignation(byte[

我正在进行flare on挑战(Memecat Battlestation),我决定。。好吧,绕过它,演示共享软件一被绕过,但损坏的标志,所以我想我会尝试完整版本,我尝试了完整版本,但我得到了一个错误

这是第一个名为Memecat Battlestation的Flare On挑战,我运行的是64位Windows 7,错误在VictoryForm.cs中

    private static IEnumerable<byte> AssignFelineDesignation(byte[] cat, IEnumerable<byte> data)
    {
        byte[] s = BattleCatManagerInstance.InvertCosmicConstants(cat);
        int i = 0;
        int j = 0;
        return data.Select(delegate (byte b)
        {
            i = (i + 1 & 255);
            j = (j + (int)s[i] & 255);
            BattleCatManagerInstance.CatFact(s, i, j);
            return b ^ s[(int)(s[i] + s[j] & byte.MaxValue)];
        });
    }
私有静态IEnumerable AssignFellineDesignation(字节[]cat,IEnumerable数据)
{
字节[]s=BattleCatManagerInstance.InvertCosmicConstants(cat);
int i=0;
int j=0;
返回数据。选择(委托(字节b)
{
i=(i+1和255);
j=(j+(int)s[i]&255);
战斗状态。战斗状态(s,i,j);
返回b^s[(int)(s[i]+s[j]&byte.MaxValue)];
});
}
我曾期望它只构建而没有任何错误,但我得到了以下错误:

'无法隐式转换类型 “
System.Collections.Generic.IEnumerable
”到 “
System.Collections.Generic.IEnumerable
”。明确的 转换已存在(是否缺少演员阵容?)

这一行:

return b ^ s[(int)(s[i] + s[j] & byte.MaxValue)]
。。。返回一个
int
,因为这是您正在使用的
^
运算符的类型。您可以将结果强制转换为
字节

return (byte) (b ^ s[(int)(s[i] + s[j] & byte.MaxValue)]);
我个人会使用lambda表达式,而不是匿名方法:

return data.Select(b =>
{
    i = (i + 1 & 255);
    j = (j + (int)s[i] & 255);
    BattleCatManagerInstance.CatFact(s, i, j);
    return (byte) (b ^ s[(int)(s[i] + s[j] & byte.MaxValue)]);
});

你是说“语句返回一个int”对吗?还是我遗漏了什么?@ilkerkaran:Doh!这绝对是我的意思。谢谢你发现它:)6分钟结束后,我会将此标记为最佳答案,这实际上对我有帮助。谢谢,我只需要找到一种方法来修复'Resource identifier'memecatbalstation.VictoryForm.resources'现在已经在这个程序集中使用了'。