C# Out 丢弃,兼容 C#6

C# Out Discard, Make Compatible With C#6

我正在修改程序的源代码以使其支持 C# 6 编译器。该源代码目前与 C# 7 兼容,并利用了 C# 7 中语法的一些新更改。因此显然它无法使用 C# 6 编译器进行编译。

我已经完成了大部分的事情。

例如,这一行(与 C# 6 不兼容):

var type = transmissionType(freqDest, freqFactor, out var bytes);

为了与 C# 6 编译器兼容,必须更改为:

byte[] bytes;
var type = transmissionType(freqDest, freqFactor, out bytes);


但我最近遇到了这一行(与 C# 6 不兼容):

public byte[] Receive() => Receive(out _, out _, out _);

而且我不太确定如何 rewrite/change 这样它才能与 C# 6 编译器兼容。 out _ 似乎是自 C# 7 发布以来在 C# 中实现的某种丢弃类型。

C# discard 变量基本上是您知道不会使用的函数调用的变量结果。您可以只声明变量而不使用它们。

public byte[] Receive() 
{
    get
    {
        var a, b, c;
        return Receive(out a, out b, out c);
    }
}