C# - Sztringlista átalakítása

forráskód letöltése
E-mail küldésnél gyakori feladat, hogy az e-mail címeket vessző, pontosvesszővel elválasztva soroljuk fel egymás után. Az adatok tárolásánál azonban jobb megoldás a címeket egyesével tárolni, ekkor viszont felmerül az igény egy gyors és egyszerű konverzióra a két forma között.
Mellékelt példában erre keressük a megoldást.
Tegyük fel, hogy az adatok egy ListBox-ban találhatók: egy sor egy e-mail cím formájában. Ebből kell előállítanunk egyetlen sztringet, ahol a ListBox elemei egymás után következnek közöttük valamilyen elválasztó karakterrel. Ehhez írhatnánk egy ciklust is, de van ennél egyszerűbb megoldás.
Hozzunk létre egy ArrayList osztályt, melybe rögtön átmásoljuk a ListBox elemeit úgy, hogy az ArrayList konstruktorának megadjuk azokat.
    private void button1_Click(object sender, System.EventArgs e)
    {
      ArrayList al = new ArrayList(listBox1.Items);
Ebből előállítunk egy sztringeket tartalmazó tömböt a ToArray függvénnyel.
      string[] s = (string[])al.ToArray(Type.GetType("System.String"));
Végül a String osztály Join függvényét használjuk, mely egy sztringeket tartalmazó tömb elemeit fűzi egymás után egy általunk megadott elválasztó karakter beillesztésével.
      label1.Text = String.Join(";", s);
    }
Ezzel a kérdéses feladatot már meg is oldottuk.