gpt4 book ai didi

c# - 处理此字符串的效率更高

转载 作者:太空宇宙 更新时间:2023-11-03 21:57:58 24 4
gpt4 key购买 nike

我创建了一个读取文本文件并基于该文本文件创建输出的小程序。

文本文件的示例可能是这样的:

f
a b c
d e

然后我的程序将创建一个新的文本文件,显示该行,然后显示所有每行中单词的组合/排列,如下所示:

f
a b c
a c b
b a c
b c a
c b a
c a b
a b
a c
b a
b c
c a
c b
a
b
c
d e
e d
e
d

我目前可以正常使用此功能,但是,我决定创建一个辅助文本文件来输出相同的内容,除了在每个条目的组合/排列前面加上“~”以提高可读性。

目前,我有这两个输出字符串,所以可以说:

string outputStringNormal = "";
string outputStringReadable = "";

然后在我的代码中,我基本上将文本添加到每个输出字符串:

outputStringNormal += someText;
outputStringReadable += " ~ " + someText;

我想知道如果我只有一个输出字符串会不会更有效率我将 [randomMarker] 附加到每个组合/排列的开头,并且就在之前我输出新的文本文件,在普通文件中,我将字符串用“”替换我的标记,然后在我的可读文件中我将用“~”替换它。

像这样:

outputString += "[randomMarker]" + someText;

然后就在输出之前:

CreateSomeFile(outputString.Replace("[randomMarker]", "");
CreateSomeFile(outputString.Replace("[randomMarker]", " ~ ");

最佳答案

您不应该将整个文本文件存储在内存中;您应该在生成该行时将每一行写到文件中。在处理诸如此类的组合时,很容易获得非常大的值,因此应避免在内存中存储大量不需要的信息。

您应该为一行生成字符串,将该行写入非人类文件,然后将您的 ~ 附加到人类可读文件并附加同一行。这样做你甚至不会做任何字符串连接、替换或任何事情。您将只是不断地写入输出流。

关于c# - 处理此字符串的效率更高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11435477/

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