WCF サービスに接続するクライアント アプリケーションがあり、サーバーからファイル サイズをlong
値として取得し、クライアントでそれを変換して、次のstring
ように表示します。52.21 MB
ユーザーが現在のディレクトリ パスを変更するたびに、アプリケーションが取得するファイル サイズが多すぎます。
私の質問: WCF サービス アプリから値をstring
フォーマットに変換してクライアントに返すか、サイズを値として返し、クライアントにフォーマットに変換させるかstring
long
string
他の方法では、どちらの値がメモリ内でより多くのバイトを必要としますか:
long size = 55050240;
string size = "52.5 MB";
long large_size = 56371445760;
string large_size = "52.5 GB";
アップデート:
このメソッドを使用して、長い値を文字列形式に変換します。
private string ConvertUnit(long source)
{
const int byteConversion = 1024;
double bytes = Convert.ToDouble(source);
if (bytes >= Math.Pow(byteConversion, 3)) //GB Range
{
return string.Concat(Math.Round(bytes / Math.Pow(byteConversion, 3), 2), " GB");
}
else if (bytes >= Math.Pow(byteConversion, 2)) //MB Range
{
return string.Concat(Math.Round(bytes / Math.Pow(byteConversion, 2), 2), " MB");
}
else if (bytes >= byteConversion) //KB Range
{
return string.Concat(Math.Round(bytes / byteConversion, 2), " KB");
}
else //Bytes
{
return string.Concat(bytes, " Bytes");
}
}
短い質問:より多くのメモリ、string
値、またはlong
値を必要とするのはどれですか?