Collection de chaîne à l'aide de linq
J'ai une classe
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" } );
J'aimerais obtenir une chaîne de caractères avec une virgule de séparation pour le Prénom, l'utilisation de Linq, le résultat ressemble à:
AA,BB
Merci,
- .NET 3.5 ou 4.0?
Vous devez vous connecter pour publier un commentaire.
Si vous êtes en utilisant .NET 4:
Si vous êtes en utilisant .NET 3.5:
(Pour l'essentiel .NET 4 ajouter quelques surcharges ajouté à
string.Join
.)Vous pouvez utiliser
Pour concaténer des éléments de chaîne, avec des séparateurs, vous pouvez utiliser
String.Join
Dans .NET 3.5 et ci-dessous, ce qui prend un tableau en tant que second paramètre, mais dans la version 4.0, il a une surcharge qui prend un
IEnumerable<T>
, oùT
dans ce cas estString
.Armé avec cette information, voici le code que vous voulez.
Pour .NET 3.5:
Pour .NET 4.0, vous pouvez omettre l'appel à ToArray:
Si vous voulez supprimer le LINQ-syntaxe et il suffit d'utiliser l'extension LINQ méthodes, ici est la même que dans la variante:
Pour .NET 3.5:
Pour .NET 4.0, vous pouvez omettre l'appel à ToArray:
Note: 3,5 variantes ci-dessus fonctionne dans la version 4.0 ainsi, ils n'ont pas d'enlever ou de remplacer l'ancienne méthode, ils ont juste ajouté un pour le cas typique.