简体   繁体   中英

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

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;

在此处输入图像描述

The correct syntax should be:

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

EDIT:

在此处输入图像描述

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;
}

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;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM