[C#] Concat كافة السلاسل داخل قائمة <string> باستخدام LINQ


Answers

في .NET 4.0 والإصدارات الأحدث:

String.Join(delimiter, list);

كافي. للإصدارات الأقدم يجب عليك:

String.Join(delimiter, list.ToArray());
Question

هل هناك أي تعبير LINQ سهل لربط سلسلتي List<string> بأكملها إلى string واحدة ذات حرف محدد؟

ماذا لو كانت المجموعة من الكائنات المخصصة بدلاً من string ؟ تخيل أنني بحاجة إلى object.Name على object.Name .




using System.Linq;

public class Person
{
  string FirstName { get; set; }
  string LastName { get; set; }
}

List<Person> persons = new List<Person>();

string listOfPersons = string.Join(",", persons.Select(p => p.FirstName));



List<string> strings = new List<string>() { "ABC", "DEF", "GHI" };
string s = strings.Aggregate((a, b) => a + ',' + b);