gpt4 book ai didi

c# - 使用前设置 StringBuilder?

转载 作者:行者123 更新时间:2023-11-30 18:57:53 25 4
gpt4 key购买 nike

是否需要将 StringBuilder 变量初始化为 string.empty 以防万一您最后没有附加任何内容并需要返回一些内容?

    public static string ToSemiColonList<T>(this IEnumerable<T> list, Func<T, string> func)
{
StringBuilder sb = new StringBuilder();

foreach (T item in list)
{
if (sb.Length > 0)
sb.Append(";");

string elem = func(item);
sb.Append(elem);
}

return sb.ToString();
}

在这种情况下它可能永远不会进入foreach。所以我的猜测是因为方法作用域中的每个局部变量在 C# 中都设置为无值,将其设置为空字符串,因为如果未命中此 foreach,我们需要返回一些东西。

也许最好先检查 stringbuilder 的长度,然后如果为零,则返回 string.empty,否则我是不是做得太过分了(做同样的工作两次),这很好,就像我拥有它一样?

最佳答案

StringBuilder 对象的默认初始化设置为 string.Empty

默认容量为 16 - 请参阅 here关于 SO 的类似(但不同)问题。

关于c# - 使用前设置 StringBuilder?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3137773/

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