C#字符串数组替换最后一个元素

时间:2010-09-03 08:27:30

标签: c# arrays string replace

我有一个字符串数组,来自分裂的字符串

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

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

为什么这不会取代我在数组中的最后一个元素?

last()来自使用linq

问候

2 个答案:

答案 0 :(得分:11)

调用string.Replace不会改变现有的字符串 - 字符串是不可变的。

相反,它返回一个 new 字符串,并带有相应的替换字符串。但是,你没有使用返回值,所以它基本上是一个无操作。

您需要更改数组元素本身以引用不同的字符串。像这样:

newName[newName.Length - 1] = handover;

答案 1 :(得分:1)

此外,从.NET Core 3.0(和.NET Standard 2.1)开始,您可以使用Index类型从头获取/设置数组元素(如字符串)。
请参见下面的示例:

newName[^1] = handover;