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

5

我有一个字符串数组,它来自于一个被分割的字符串。

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

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

为什么这个代码不能替换我数组中的最后一个元素?

last()是从linq库中调用的。

祝好!

2个回答

13

调用string.Replace并不会改变现有字符串,因为字符串是不可变的。

相反,它返回一个新的字符串,其中包含适当的替换。但是,如果您不使用返回值,则基本上不进行任何操作。

您需要更改数组元素本身,以引用不同的字符串。可以尝试以下代码:

newName[newName.Length - 1] = handover;

谢谢,那个很好用。我从来没有注意到它会添加一个新的字符串。应该读一下手册;) 替换... - Mark

7

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

newName[^1] = handover;

请参阅文档以获取更多信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接