2010-09-03 8 views
3

j'ai un tableau de chaînes qui vient d'une chaîne fente C# Chaîne tableau Remplacer dernier élément

string[] newName= oldName.Split('\\'); 

newName.Last().Replace(newName.Last(), handover); 

Pourquoi ne marche pas cela remplace mon dernier élément du tableau?

dernier() vient d'utiliser LINQ

concernant

Répondre

9

Appel string.Replace ne modifie pas la chaîne existante - les chaînes sont immuables.

Au lieu de cela, il retourne une nouvelle chaîne , avec les remplacements appropriés. Cependant, vous n'utilisez pas la valeur de retour, donc c'est fondamentalement un no-op.

Vous devez modifier l'élément de tableau lui-même pour faire référence à une chaîne différente. Quelque chose comme ceci:

newName[newName.Length - 1] = handover; 
+0

Thx qui a bien fonctionné. Jamais mentionné que son ajout d'une nouvelle chaîne là. Devrait avoir à lire le manuel;) remplacer ... – Mark

+0

Un de ces gotchas ;-) – Michael

Questions connexes