Creating class and add property to GameObject

i have Enemy Vehicles more than a hundred.
They must be loaded scene by Level and Wave.
Each Vehicle has different point, if an enemy cross line it will hit me that point.
i tried to create a class but it didnt work.
i dont know how to call them with order and use properties

using UnityEngine;
public class EnemyVehicles : MonoBehaviour
{
public class Vehicles
{
public GameObject V;
public float point;

    public Vehicles(GameObject go, float p)
    {
        V = go;
        point = p;
    }
}

private Vehicles[] Ve;
public GameObject[] go;
public float[] p;

void Start()
{
    for (int i = 0; i < go.Length; i++)
    {
        Ve_.V = go*;                                    //it doesnt work*_

Ve_.point = p*;
}
Debug.Log(Ve[0].V.transform.name + Ve[0].point);
}
public GameObject GetVehicle(int i)
{_

_return Ve.V;
}
}*_

i convert array to list but it didnt work

public List<Vehicles> Ve;
public Vehicles Veh;
public GameObject[] go;
public float[] p;

void Start()
{
    for (int i = 0; i < go.Length; i++)
    {
        Veh.V = go*;*

Veh.point = p*;*
Ve.Add(Veh);
Debug.Log(Ve_.V.name + " :"+Ve*.point);
}
}*_

i solve my problem

using UnityEngine;

public class EnemyVehicles : MonoBehaviour
{
public class Vehicles
{
public GameObject Vehicle;
public float point;

    public Vehicles(GameObject go, float p)
    {
        Vehicle = go;
        point = p;
    }
    public Vehicles(GameObject go)
    {
        Vehicle = go;
        point = 1;
    }
}

public Vehicles[] Ve = new Vehicles[5];
public Vehicles Veh;
public GameObject[] go;
public float[] p;

void Start()
{
    for (int i = 0; i < go.Length; i++)
    {
        Veh = new Vehicles(go_, p*);*_

Ve = Veh;
Debug.Log(Ve_.Vehicle.name + " :"+Ve*.point);
}
}
public GameObject GetVehicle(int i)
{_

_return go;
}
public float GetPoint(int i)
{_

_return p;
}
}*_