Question: Is there any other shorter/more efficient way to check and see if it is the last item in my ListBox? The main goal here is basically to add the selected items to a label, and add a comma after every one but the last one. Any suggestions?

```
        int sc = 0;
        List<string> interestitems = new List<string>();

        foreach (ListItem siitem in ListBox1.Items)
        {
            if (siitem.Selected == true)
            {
               interestitems.Add(siitem.Value.ToString());
            }
        }

        foreach (string inteitem in interestitems)
        {
            Label1.Text += inteitem;
            sc++;
            if (sc < interestitems.Count)
            {
                Label1.Text += ",";
            }
        }

```

Answer: 
How about LINQ:

```
Label1.Text = string.Join(
    ",", 
    ListBox1.Items
            .OfType<ListItem>()
            .Where(item => item.Selected)
            .Select(x => x.Value.ToString())
            .ToArray()
);

```
You can replace all of your code with some LINQ:

```
Label1.Text = String.Join(", ",
              ListBox1.Items.Cast<ListItem>()
                            .Where(i => i.Selected)
                            .Select(i => i.Value.ToString())
              );

```

In .Net 3.5, you'll need to add `.ToArray()`.