Use of unassigned variable?

前端 未结 5 999
Happy的楠姐
Happy的楠姐 2021-01-26 19:04

I\'m getting the error use of unassigned variable \"ps\" when declaring if paymentstatus is null or has value in the \"if\" statement. I\'m thinking that i allready declared ps

相关标签:
5条回答
  • 2021-01-26 19:21

    Yes, you did declare the variable.

    Yet it says "unassigned" not "undeclared", and you didn't assign any value to the variable. Just set it to null.

    0 讨论(0)
  • 2021-01-26 19:34

    You haven't initialized ps...you need to initalize it with at least null value...

    PaymentStatus? ps = null;
    

    The same applies to all other variables

    0 讨论(0)
  • 2021-01-26 19:35

    It is an unassigned variable i.e. you havent initialised it with a value.

    0 讨论(0)
  • 2021-01-26 19:37

    Initialize your ps variable like

    PaymentStatus? ps = null; //or something. 
    

    From Compiler Error CS0165

    C# compiler does not allow the use of uninitialized variables. If the compiler detects the use of a variable that might not have been initialized, it generates compiler error CS0165

    0 讨论(0)
  • 2021-01-26 19:42

    You have declared the local variable but you have not assigned a value. Therefore the compiler helps you to prevent this bug.

    PaymentStatus? ps;  
    // ...
    if (ps.HasValue)
    

    So assign a value:

    PaymentStatus? ps = null;  
    // ...
    if (ps.HasValue)
    

    However, thix fixes the compiler error but is still pointless since it will never have a value. Maybe you want to use a method parameter instead:

    public IList<BestsellersReportLine> DailyBestsellersReport(PaymentStatus? ps)
    {
    
    0 讨论(0)
提交回复
热议问题