[英]How to join MongoDB collection with string[] on collection with string using Linq
[英]Collection to string using linq
我上課了
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
List<Person> PersonList = new List<Perso>();
PersonList.Add(new Person() { FirstName = "aa", LastName = "AA" } );
PersonList.Add(new Person() { FirstName = "bb", LastName = "BB" } );
我想使用Linq為LastName獲取一個帶逗號分隔符的字符串,結果如下:AA,BB
謝謝,
如果您使用的是.NET 4:
string lastNames = string.Join(",", PersonList.Select(x => x.LastName));
如果您使用的是.NET 3.5:
string lastNames = string.Join(",", PersonList.Select(x => x.LastName)
.ToArray());
(基本上.NET 4在string.Join
添加了一些額外的重載。)
您可以使用
PersonList.Select(p => p.LastName).Aggregate((s1,s2) => s1 + ", " + s2);
要使用分隔符連接字符串項,可以使用String.Join
在.NET 3.5及更低版本中,這會將數組作為第二個參數,但在4.0中它有一個帶有IEnumerable<T>
的重載,其中T
在這種情況下是String
。
有了這些信息,這是您想要的代碼。
對於.NET 3.5:
string result = String.Join(", ",
(from p in PersonList
select p.LastName).ToArray());
對於.NET 4.0,您可以省略對ToArray的調用:
string result = String.Join(", ",
from p in PersonList
select p.LastName);
如果你想刪除LINQ語法並只使用LINQ擴展方法,那么這個變體就是一樣的:
對於.NET 3.5:
string result = String.Join(", ", PersonList.Select(p => p.LastName).ToArray());
對於.NET 4.0,您可以省略對ToArray的調用:
string result = String.Join(", ", PersonList.Select(p => p.LastName));
注意 :上面的3.5變體當然也適用於4.0,它們沒有刪除或替換舊方法,只是為典型情況添加了一個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.