gpt4 book ai didi

c# - 如何改变字符串的第n个元素

转载 作者:太空狗 更新时间:2023-10-29 22:20:29 24 4
gpt4 key购买 nike

我有一个C#代码如下

string s = new string('~',25);
int ind = 5;
s[ind] = 'A';

报错

Property or indexer 'string.this[int]' cannot be assigned to -- it is read

问题是什么,我该如何解决。

最佳答案

字符串是不可变的 - 您无法更改现有字符串。

两种选择:

  • 使用StringBuilder,例如

    StringBuilder builder = new StringBuilder(new string('~', 25));
    builder[5] = 'A';
    string result = builder.ToString();
  • 从一个字符数组构建一个新的字符串:

    char[] chars = new string('~', 25).ToCharArray();
    chars[5] = 'A';
    string result = new string(chars);

在这两种情况下,如果您愿意,您都可以填充可变数据而无需构建新的字符串 - 这将涉及更多代码,但可能会更高效。

或者,根据另一个答案,您可以采用子字符串并将它们连接在一起……基本上有很多方法可以解决这个问题。哪一个合适取决于您的实际用例。

关于c# - 如何改变字符串的第n个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5990093/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com