How to add text values to a list

Hello people.
Im triying to make a list of int/text values, taking them from a unique gameobject.
and I need prevent values from repeating in the list.
PD: the value is updated in runtime.

there is my attemp:

public List<Text> ValuesN = new List<Text>();
public Text Values;
public Text Result;

public void addToList()
{

    if (ValuesN.Contains(Values))
    {
        Debug.Log("Already exist in list");
    }
    else
    {
        ValuesN.Add(Values);
    }

    var MergeValues = string.Join("

", ValuesN.Select(obj => obj.GetComponent().text));

    Result.text = MergeValues;
}

this simply doesnt works, only show the last value in “Result”.
some guidance?,please.
Thanks.

image of the basic idea:
168562-screenshot-3.png

SOLUTION:

    public List<string> ValuesText = new List<string>();
    public Text Values;
    public Text Result;
    
    public void addToListV4()
    {
        ValuesText.Add(Values.text);
    
        foreach(string s in ValuesText)
        {
            Text clonedText = Values;
        }
    
        var MergeValues = string.Join("

", ValuesText);
Result.text = MergeValues;
}

//this function prevent repeated values in the list
    public void addToListV5()
    {
        if (ValuesText.Contains(Values.text))
        {
            Debug.Log("Already exist in list");
        }
        else
        {
            ValuesText.Add(Values.text);
        }
    
        foreach (string s in ValuesText)
        {
            Text clonedText = Values;
        }

    var MergeValues = string.Join("

", ValuesText);
Result.text = MergeValues;
}

Hello @elfasito
I’m not sure, but have you tried expanding the text field? Maybe, because the text field is small, the rest of the text has not appeared? Because I can’t see a problem in the code.

Solution:

    public List<string> ValuesText = new List<string>();
    public Text Values;
    public Text Result;
    
    public void addToListV4()
    {
        ValuesText.Add(Values.text);
    
        foreach(string s in ValuesText)
        {
            Text clonedText = Values;
        }
    
        var MergeValues = string.Join("

", ValuesText);
Result.text = MergeValues;
}

//this function prevent repeated values in the list
    public void addToListV5()
    {
        if (ValuesText.Contains(Values.text))
        {
            Debug.Log("Already exist in list");
        }
        else
        {
            ValuesText.Add(Values.text);
        }
    
        foreach (string s in ValuesText)
        {
            Text clonedText = Values;
        }