Je veux diviser cette ligne:
string line = "First Name ; string ; firstName";
dans un tableau de leurs versions coupées:
"First Name"
"string"
"firstName"
Comment puis-je tout faire sur une seule ligne? Ce qui suit me donne une erreur "impossible de convertir le type void":
List<string> parts = line.Split(';').ToList().ForEach(p => p.Trim());
ForEach
fonctionne sur l'instance actuelle deIEnumerable
et retournevoid
.Réponses:
Essayer
Pour info, la méthode Foreach prend une action (prend T et retourne void) pour le paramètre, et votre lambda renvoie une chaîne sous forme de chaîne.
La méthode d'extension Foreach est destinée à modifier l'état des objets dans la collection. Comme les chaînes sont immuables, cela n'aurait aucun effet
J'espère que ça aide; o)
Cédric
la source
ForEach
n'est pas une méthode d'extension.La
ForEach
méthode ne renvoie rien, vous ne pouvez donc pas l'affecter à une variable.Utilisez
Select
plutôt la méthode d'extension:la source
Parce que p.Trim () renvoie une nouvelle chaîne.
Vous devez utiliser:
la source
Essayez également ceci:
la source
Voici une méthode d'extension ...
la source
essayez d'utiliser Regex:
la source
Split renvoie le type de chaîne []. Écrivez une méthode d'extension:
J'ai aimé votre solution, j'ai donc décidé de l'ajouter et de la rendre plus utilisable.
la source
Utiliser Regex
Résultat:
bob
Jon
homme
Francis
Luke
Lee
bob
Expliquer le modèle [,; \ s]: correspond à une occurrence de,; ou caractère d'espace
la source