C# 解决c中的CS0649警告#

C# 解决c中的CS0649警告#,c#,compiler-warnings,C#,Compiler Warnings,编译器在第5行显示警告CS0649 public class DescoService { CommonUtilityService utilityServiceObject; DescoBill descoBillObjcet; private string VTransactionSerialNo = ""; //warning here int AccessFlag; public DescoService() { util

编译器在第5行显示警告CS0649

public class DescoService
{
    CommonUtilityService utilityServiceObject;
    DescoBill descoBillObjcet;
    private string VTransactionSerialNo = ""; //warning here
    int AccessFlag;

    public DescoService()
    {
        utilityServiceObject = new CommonUtilityService();
        descoBillObjcet = new DescoBill();
        //VTransactionSerialNo = "";
    }
}

我给它分配了一个空字符串,但警告仍然显示。如何解决此问题?

如果定义变量而不使用它,则会出现此错误。所以你必须使用它,给它一个空值,给它一个初始值或者移除它。您还可以通过执行以下操作禁用此警告

对于“禁用”,将显示警告

#pragma warning disable 0649
将其返回到以前的状态

#pragma warning restore 0649

不建议禁用警告,因为它会影响编译器进程。因此,我建议您修复前面提到的警告。

我刚刚清理了解决方案,警告消失了。

即使重建项目,它仍然显示此警告?重建解决了它。我猜我只是在构建它。但我还必须添加只读修改器。谢谢!!禁用警告应始终是最后的手段。在大多数情况下,这是不可能做到的。通过禁用警告,您告诉编译器您比它更了解。考虑到一些非常聪明的人编写了编译器,他们在这些警告上花了很多心思,最好听听他们的意见。@mason你完全正确,但如果你有很多变量,你需要去掉这些消息,这只是一个解决方案。有很多变量并不是禁用编译器警告的好理由。你需要一个更好的理由。@我已经告诉过他需要使用定义的变量,给它一个空值,给它一个初始值或删除它。您也可以禁用此警告。是的,但是您没有关于使用哪种警告、为什么使用警告或禁用警告的危险的建议。你只是随便提了一下。请记住,并非所有阅读您答案的人都会知道禁用警告的危险。事实上,如果他们搜索这个警告并最终回答这个问题,他们很可能不知道危险。