Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Display List<String> in textBox (Winforms)

Tags:

c#

list

textbox

Noob question... I'm trying to display a List in a textbox... unfortunately, my code only displays the first element in the list...

    private void Form1_Load(object sender, EventArgs e)
    {
        List<String> vegetables = new List<String>();
        vegetables.Add("tomato");
        vegetables.Add("carrot");
        vegetables.Add("celery");
        vegetables.Add("potato");

        textBox1.Text = displayMembers(vegetables);
    }

    public string displayMembers(List<String> vegetables)
    {
        foreach (String s in vegetables)
        {
            return s.ToString();
        }
        return null;
    }

How do I get the textBox to display all of the members? Where is my mistake?

like image 980
lorenzoid Avatar asked Nov 20 '11 19:11

lorenzoid


2 Answers

Once you return s.ToString(), the rest of that method stops running.
A method cannot return multiple things.

You probably want to write

someTextBox.Text = String.Join(Environment.NewLine, vegetables);
like image 175
SLaks Avatar answered Sep 16 '22 16:09

SLaks


Use string.Join():

textbox1.Text = string.Join(" ", vegetables);

The answer was closer and easier than you thought :)

Note: as mentioned in the comments, this particular function has several overloads added in v4.0 of the .Net framework. If you want to see what is available for earlier versions use the Other Versions dropdown just under the title on the MSDN doco page.

like image 31
slugster Avatar answered Sep 16 '22 16:09

slugster