【问题标题】:is never assigned to, and will always have its default value 0永远不会分配给,并且将始终具有其默认值 0
【发布时间】:2016-03-19 00:35:20
【问题描述】:

我不断收到ordersubmittedlastfillquantity 的上述警告,但是一切似乎都工作正常,当我打印变量时它们似乎正确更新。

public partial class Form1 : Form
{
    private bool ordersubmitted = false;
    private int lastfillquantity;

    private void SubmitOrder()
    {
        int lastfillquantity = e.filled;
        ordersubmitted = true
    }
}

【问题讨论】:

标签: c# winforms


【解决方案1】:

您不是在设置类属性的值,而是在方法内创建一个新属性并将新值分配给该属性。试试这个:

public partial class Form1 : Form
{
    private bool ordersubmitted = false;
    private int lastfillquantity;

    private void SubmitOrder()
    {
        // here you need to assign it, instead of defining another class property
        lastfillquantity = e.filled;
        ordersubmitted = true
    }
}

【讨论】:

    【解决方案2】:

    它不能正常工作。正如它所说,你永远不会为它设置一个值。您只需在方法中定义另一个具有相同名称的变量并设置其值,只是为了将其丢弃。类字段永远不会获得除零以外的任何其他值。

    【讨论】:

    • 这是一个类字段。类级别上不存在变量。
    【解决方案3】:

    lastfillquantity 变量的值永远不会更新,因为您在 SubmitOrder 方法中重新声明了 lastfillquantity 并更新了新变量(隐藏了外部变量)的值。相反,您应该更新外部变量。

    尝试关注

    private void SubmitOrder()
    {
        lastfillquantity = e.filled;
        ordersubmitted = true
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多