在 C# 中使用字符串生成器处理巨大的字符串

本文关键字:字符串 处理 巨大 | 更新日期: 2023-09-27 18:37:24

我想以简单有效的方式替换字符串生成器末尾的倒数第二个字符(即速度快,内存更少)。我猜字符串大约是 200-300 mb(不确定)。我该怎么做?如果输入字符串的末尾也有换行符,答案会改变吗?

谢谢。

在 C# 中使用字符串生成器处理巨大的字符串

您可以使用

StringBuilder.Chars覆盖StringBuilder中的特定字符:

// For example, replace 'x' into the 2nd to last char
stringBuilder[stringBuilder.Length-2] = 'x';

StringBuilder使用字符数组作为其后备存储。一个简单的

StringBuilder sb = new StringBuilder() ;
sb.Append( GetSomeEnormousString() ) ;
sb[ sb.Length - 2 ] = '*' ;

应该做你。

在涉及的任何分页之外,它是直接内存访问。