gpt4 book ai didi

c# - 无法将属性或索引器 'string.this[int]' 分配给 -- 它是只读的

转载 作者:太空狗 更新时间:2023-10-29 19:53:43 26 4
gpt4 key购买 nike

我没有遇到问题 - 我正在尝试执行一个简单的操作:

for(i = x.Length-1, j = 0 ; i >= 0 ; i--, j++)
{
backx[j] = x[i];
}

两者都被声明:

String x;
String backx;

问题是什么?它说标题中的错误...如果有问题 - 还有其他方法吗?结果(正如名称“backx”所暗示的那样)是 backx 将向后包含字符串 X。附言x 不为空 - 它包含来自另一个字符串的子字符串。

最佳答案

字符串是不可变的:您可以检索某个位置的字符,但不能该字符直接更改为新字符。

相反,您必须使用更改构建一个新字符串。有几种方法可以做到这一点,但是 StringBuilder 以与您已有的方式类似的方式完成这项工作:

StringBuilder sb = new StringBuilder(backx);
sb[j] = x[i];
backx = sb.ToString();

编辑:如果您看一下面向公众的 string API,您会看到这个索引器:

public char this[int index] { get; }

这表明您可以“获取”一个值,但是因为没有可用的“集合”,您无法为该索引器分配值。

EDITx2:如果您正在寻找一种反转字符串的方法,有几种不同的方法,但这里有一个示例,解释了它是如何工作的:http://www.dotnetperls.com/reverse-string

关于c# - 无法将属性或索引器 'string.this[int]' 分配给 -- 它是只读的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22093976/

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