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"