【问题标题】:C# Out Discard, Make Compatible With C#6C# Out Discard,兼容 C#6
【发布时间】:2019-10-11 21:40:31
【问题描述】:

我正在修改程序的源代码以使其支持 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 _);

我不太确定如何重写/更改它以使其与 C# 6 编译器兼容。 out _ 似乎是自 C# 7 发布以来在 C# 中实现的某种类型的丢弃。

【问题讨论】:

    标签: c# compatibility c#-6.0 out c#-7.0


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-09
      • 1970-01-01
      • 2012-06-01
      • 2021-08-10
      • 2012-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多