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

Posted

技术标签:

【中文标题】C#字符串数组替换最后一个元素【英文标题】:C# String Array Replace Last Element 【发布时间】:2011-04-07 17:45:13 【问题描述】:

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

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

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

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

last() 来自使用 linq

问候

【问题讨论】:

【参考方案1】:

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

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

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

newName[newName.Length - 1] = handover;

【讨论】:

谢谢,效果很好。从来没有提到它在那里添加了一个新字符串。应该阅读手册;)替换...【参考方案2】:

此外,从 .NET Core 3.0(和 .NET Standard 2.1)开始,您可以使用 Index 类型从结束。 请参见下面的示例:

newName[^1] = handover;

更多信息请参见docs

【讨论】:

以上是关于C#字符串数组替换最后一个元素的主要内容,如果未能解决你的问题,请参考以下文章

减少数组中的最后一个字符串元素而不在C#中删除它?

JS常用方法

在 Ruby 中,如何用可能的多个元素替换数组中的元素?

JAVA如何把字符串数组是最后一个数据删除?

javascript中Array的操作

传递对 C# 数组中元素的引用