コガネブログ

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

【C#】容量を表すバイト単位の数値を単位付きの読みやすい文字列に変換する関数

ソースコード

public static class FileUtils
{
    public static string ToReadableSize( double size, int scale = 0, int standard = 1024 )
    {
        var unit = new[] { "B", "KB", "MB", "GB" };
        if ( scale == unit.Length - 1 || size <= standard )
        {
            return $"{size.ToString( ".##" )} {unit[ scale ]}";
        }
        return ToReadableSize( size / standard, scale + 1, standard );
    }
}

使い方

var info         = new FileInfo( "" );
var size         = info.Length;
var readableSize = FileUtils.ToReadableSize( size ) ;

Console.WriteLine( readableSize );

参考サイト様