如何更改字符串中的1个字符?

我有以下代码:

string str=“瓦尔塔是世界上最好的地方”;

我需要替换第一个符号。当我尝试这个:

str[0]='M';

我收到一个错误。我该怎么做

字符串是不可变的,这意味着您不能更改字符。而是创建新字符串

你所要求的可以通过几种方式实现。最合适的解决方案将根据您对原始字符串所做更改的性质而有所不同。你只改变一个角色吗?是否需要插入/删除/追加

以下是从现有字符串创建新字符串的几种方法,但第一个字符不同:

str='M'+str.Remove(0,1);
str='M'+str.Substring(1);

在上面,新字符串被分配给原始变量str

我想补充一点,演示StringBuilder的其他人的答案也非常合适。我不会实例化一个StringBuilder来更改一个字符,但是如果需要进行许多更改,StringBuilder是一个比我的示例更好的解决方案,我的示例在这个过程中创建了一个临时的新字符串StringBuilder提供了一个可变对象,允许进行许多更改和/或追加操作。完成更改后,将使用.ToString()方法从StringBuilder创建一个不可变字符串。您可以继续对StringBuilder对象进行更改,并根据需要使用.ToString()创建更多新字符串

发表评论