【发布时间】:2016-02-07 10:43:53
【问题描述】:
我看到了与字符串生成器相关的问题,但无法找到相关答案。
我的问题是“在这里使用字符串生成器是否明智?如果不是,如何在这里明智地使用它”。
此方法将运行 100000 次。为了节省一些内存,我在这里使用了 stringbuilder。但问题是.ToString() 方法。无论如何,我必须使用.ToString() 方法创建一个字符串,所以为什么不将filename 初始化为字符串而不是StringBuilder。
internal bool isFileExists()
{
StringBuilder fileName = new StringBuilder(AppDomain.CurrentDomain.BaseDirectory + "Registry\\" + postalCode + ".html");
if (System.IO.File.Exists(fileName.ToString()))
{
return true;
}
else
{
return false;
}
}
所有库方法都使用字符串作为参数而不是字符串生成器,为什么? 我觉得我的概念很混乱。
【问题讨论】:
-
在这种情况下使用
StringBuilder似乎不会添加任何值,您通常会使用它将值附加到缓冲区,然后在完成后返回该字符串。你也可以在这里只使用一个string而不是StringBuilder实例。 -
为什么不直接使用
return System.IO.File.Exists(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Registry\\" , postalCode , ".html"));? -
@Charlie 查看 SaverioTerracciano 的回答了解更多详情
-
这里没有理由(真的没有理由)使用字符串生成器。它甚至不明智。
标签: c#