我有一个字符串数组,它来自于一个被分割的字符串。
string[] newName= oldName.Split('\\');
newName.Last().Replace(newName.Last(), handover);
为什么这个代码不能替换我数组中的最后一个元素?
last()是从linq库中调用的。
祝好!
调用string.Replace
并不会改变现有字符串,因为字符串是不可变的。
相反,它返回一个新的字符串,其中包含适当的替换。但是,如果您不使用返回值,则基本上不进行任何操作。
您需要更改数组元素本身,以引用不同的字符串。可以尝试以下代码:
newName[newName.Length - 1] = handover;
从.NET Core 3.0开始(和 .NET Standard 2.1),您可以使用Index
类型从末尾获取/设置数组元素(例如字符串)。
请参见下面的示例:
newName[^1] = handover;
请参阅文档以获取更多信息。