Home > Blockchain >  A field initializer cannot reference the non-static field method or property
A field initializer cannot reference the non-static field method or property

Time:12-22

I have been programming for a few years, and I know, that the following should work perfectly fine. Just trying to initialize all variables with one common type and same value.

int count = 0, 
    xmin = count, 
    xmax = count,  
    ymin = count, 
    ymax = count;

enter image description here

CodePudding user response:

The correct syntax should be:

int count, xmin, xmax, ymin, ymax = 0;

EDIT:

enter image description here

Your original code seems to work no?

EDIT2:

Well ofcourse that won't work in a field initializer!

A field initializer cannot refer to other instance fields.

https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/fields

You can probs move the init code to your constructor if you really want - something like:

int count = 3, xmin, xmax, ymin, ymax;

void MyCtor()
{
    xmin = xmax = ymin = ymax = count;
}

CodePudding user response:

Assign same value to multiple variables in a single line could be done in the following way

int count, xmin , xmax ,  ymin , ymax;
count = xmin = xmax = ymin = yman = 0;

Or like this

int count, xmin, xmax, ymin, ymax = 0;
  •  Tags:  
  • c#
  • Related