コガネブログ

平日更新を目標にUnityやC#などのゲーム開発アレコレを書いていきます

【C#】書式指定可能なStringBuilder.AppendLineを拡張メソッドで実装する

var builder = new StringBuilder();
builder.AppendFormat("{0}/{1}", count, max).AppendLine();

よくStringBuilderを使用して文字列を整形するのですが
AppendFormat関数を使って改行したい場合は
AppendFormat関数の後にAppendLine関数を呼び出す必要があり少しソースが冗長になるので
書式指定できるAppendLine関数を拡張メソッドで用意して普段はそちらを使っています

using System.Text;

public static class StringBuilderExtensions
{
    public static StringBuilder AppendLine(this StringBuilder self, string format, object arg0)
    {
        return self.AppendFormat(format, arg0).AppendLine();
    }
    
    public static StringBuilder AppendLine(this StringBuilder self, string format, params object[] args)
    {
        return self.AppendFormat(format, args).AppendLine();
    }
    
    public static StringBuilder AppendLine(this StringBuilder self, string format, object arg0, object arg1)
    {
        return self.AppendFormat(format, arg0, arg1).AppendLine();
    }
    
    public static StringBuilder AppendLine(this StringBuilder self, string format, object arg0, object arg1, object arg2)
    {
        return self.AppendFormat(format, arg0, arg1, arg2).AppendLine();
    }
}
var builder = new StringBuilder();
builder.AppendLine("{0}/{1}", count, max);