gpt4 book ai didi

c# - 增加c#中字符串的大小

转载 作者:太空宇宙 更新时间:2023-11-03 19:06:16 25 4
gpt4 key购买 nike

我正在尝试编写一种方法来替换 c# 中 %20 中的空格。我正在使用 stringBuilder 来构建新字符串。但是我遇到了超出范围的异常,可能是因为数组的大小用完了。有没有办法增加我使用字符串构建的字符串的大小

static void Main(string[] args)
{
String add = "Mr John Smtih";
Console.WriteLine(add);
StringBuilder sb = new StringBuilder(add);

int j = 0;
for (int i = 0; i < add.Length; i++)
{
if (add[i].Equals(' '))
{
sb[j] = '%';
j++;
sb[j] = '2';
j++;
sb[j] = '0';
}
else
{
sb[j] = add[i];
}
j++;
}
Console.WriteLine(add);
Console.WriteLine(sb);
Console.ReadLine();
}

最佳答案

String 类是不可变的,因此一旦对其进行初始化,就无法更改其大小。

您应该在 StringBuilder 中使用 Append() 方法。您的代码看起来像这样:

static void Main(string[] args)
{
String add = "Mr John Smtih";
Console.WriteLine(add);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < add.Length; i++)
{
if (add[i].Equals(' '))
{
sb.Append("%20");
}
else
{
sb.Append(add[i]);
}
}
Console.WriteLine(add);
Console.WriteLine(sb);
Console.ReadLine();
}

关于c# - 增加c#中字符串的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27021715/

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