Array not working

I have no idea what to do. Pls help.

private float[] size_itemNeeded;

void Start()
{
     size_itemNeeded = new float[3];   //And it just throws array out of index exception here.
     size_itemNeeded[1] = 2f;
}

I was trying it in loop, trying to make it public almost everything I know. Nothing helps.
Hope some of you know what is the problem.

Yes they are inside normal class and its C#.

you should use the length of size_itemNeeded and you cant assign a float to whole array you should assign it to each object in array

private float[] size_itemNeeded;

void Start()
{
     size_itemNeeded = new float[3];

     for(int i =0; i < size_itemNeeded.Length; i++)
     {
          if(size_itemNeeded *== Control.TEXTURE_ITEM1)*

{
size_itemNeeded = 1.5f;
}
}
}
/////alternative : you can use foreach
private float[] size_itemNeeded;

void Start()
{
size_itemNeeded = new float[3];

foreach (float item in size_itemNeeded)
{
if(item == Control.TEXTURE_ITEM1)
{
item = 1.5f;
}
}
}
////alternative : you can use try catch just to get rid of error(not recommended)

private float[] size_itemNeeded;

void Start()
{
size_itemNeeded = new float[3];
try{
for(int i =0; i < size_itemNeeded.Length; i++)
{
if(size_itemNeeded == Control.TEXTURE_ITEM1)
{
size_itemNeeded = 1.5f;
}
}
}
catch(Exception e){

}
}