关于未使用元组的开关表达式中的参数的声纳警告

问题描述 投票:1回答:1

关于sonarlint(Visual Studio扩展),如果在开关表达式的元组(新的c#8功能)中使用了方法的参数,则无法识别出该方法的参数,我遇到了一个奇怪的问题。这是一段代码来演示:

private bool Xor(bool A, bool B) 
{ 
    return (A, B) switch
    {
        (false, false) => false,
        (true, false) => true,
        (false, true) => true,
        (true, true) => false,
    };
}

如果我编译此代码,我会得到以下代码气味:

“删除该参数'A',这两个参数的值在方法中均被忽略”

但是该方法显然可以按预期工作。奇怪的是,这仅在使用私有方法时发生

我做错什么了吗?还是这是意外行为?

c# switch-statement sonarlint c#-8.0
1个回答
0
投票

为什么不使用exclusive OR operator ^并写

^

但是,最好将小写名称用于变量

© www.soinside.com 2019 - 2024. All rights reserved.