Use a list for a return method?

Hello, I’m trying to make a a return method that will take any amount of floats and randomly pick between them and then return that value, but I seem to be having some trouble with the list aspect of this.

public float PickNumber (List<float> ChosenNumbers){
	return ChosenNumbers[Random.Range(0, ChosenNumbers.Count)];
}

What’s not working? I copy/pasted and this works.
However I think it’s better to use params So you can PickNumber(1.5f, 1423.0f, ..);

public float PickNumber(params float[] ChosenNumbers)
    {
        int randIndex = Random.Range(0, ChosenNumbers.Length);
        return ChosenNumbers[randIndex];
    }