Visual Studio C# ignoring new array size until


#1

Hey all.

Had a strange one a moment ago. I created a boolean array that was 4 elements in size.

public bool[] strikeMap = new bool[4];
I realised it wasn’t big enough so I increased the size

public bool[] strikeMap = new bool[5]

I stopped VS and Unity from running the game. I made the change then started the debug up again and run the game in Unity. Weirdly, the array stayed at 4 elements in size. The only way I could get it to see the new size was to stop Unity playing, stop the VS attachment (debug) and do a . . .

Build | Clean Solution
Build | Rebuild Solution

I Run the debug in VS and hit play in Unity. Looking at the VS debug locals the array was correct at 5 elements in size.

I saved in both Unity and VS automatically between changes.

Any idea why this happened/ is happening?


#2

I know .Net caches solutions/projects/files etc, was Unity definitely not playing the game? My only thought would be that the script file was perhaps still in use. The fact that the clean/rebuild resolved it might suggest that also, as the clean/rebuild would have wiped the dlls and any other files and rebuilt them (obviously).

Can you reproduce the same issue?


#3

Out of interest, got any spaces in the project/file names?


#4

You may be right Rob about Unity having hold of it but I also closed them both relaunched but had the same issue. I’ll keep an eye on it and report back my finding.


#5

hmmm… bit odd huh…

Let us know what you find, may well prove useful to other members :slight_smile: