Bazen üyelerin emaillerini çekerek toplu mail göndermek durumunda kalabiliriz. Email listesini çekmek kolaydır. Fakat bir de bu emaillerin, aralarına noktalı virgül koyarak birleştirmesi işlemi vardır. Bu işlemi iki yolla yapabiliriz.
- Email listesini SQL ortamında noktalı virgülle ayrılmış şekilde çekmek.
- Email listesini dizi şeklinde SQL sorguyla alıp, birleştirme işlemini kod tarafında yapmak.
Biz ikinci yöntem üzerinde duracağız.
Elimizdeki email listesi şu şekilde olsun.
List<string> data = new List<string> { "aaa@mail.com", "bbb@mail.com", "ccc@mail.com", "ddd@mail.com", "eee@mail.com" };
Bu listeyi şimdi birkaç yöntemle birleştirmeyi deneyelim.
Birinci yol: LINQ Aggregate extension metodunun kullanımı.
var emails = data.Aggregate((s, e) => string.Concat(s, ";", e));
İkinci yol: String.Join extension metodunun kullanımı.
var emails = string.Join(";", data);
Her iki yönteminde çıktısı şu şeklide olacaktır:
"aaa@mail.com;bbb@mail.com;ccc@mail.com;ddd@mail.com;eee@mail.com"