[ad_1]
こんにちは ……
private string formatSizeBinary(Int64 size, Int32 decimals = 2) { string[] sizes = { "Bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB" }; double formattedSize = size; Int32 sizeIndex = 0; while (formattedSize >= 1024 & sizeIndex < sizes.Length) { formattedSize /= 1024; sizeIndex += 1; } return string.Format("{0} {1}", Math.Round(formattedSize, decimals).ToString(), sizes[sizeIndex]); }
「Int32 decimals = 2」で「デフォルトのパラメーター指定子は許可されていません」というエラーが発生しました
vs2008 および .net Framework 2.o で
解決策 3
C# 4.0 より前の C# では、省略可能なパラメーターを指定できません。
http://msdn.microsoft.com/en-gb/library/dd264739.aspx[^]
代わりに、他のパラメーターを受け入れ、必要なデフォルトを使用して他のメソッドを呼び出す、オーバーロードされたメソッドを提供できます。 したがって:
private string formatSizeBinary(Int64 size, Int32 decimals) { // ... your code here ... } private string formatSizeBinary(Int64 size) { return formatSizeBinary(size, 2) }
よろしく、
イアン。
解決策 4
プライベート文字列 formatSizeBinary(Int64 size, Int32 decimals )
{
if(小数 == null)
小数 = 2;
if(小数 == “”)
小数 = 2;
弦[] サイズ = { “バイト”、”KB”、”MB”、”GB”、”TB”、”PB”、”EB”、”ZB”、”YB” };
ダブルフォーマットされたサイズ=サイズ;
Int32 sizeIndex = 0;
while (formattedSize >= 1024 & sizeIndex < size.Length)
{
フォーマットされたサイズ/= 1024;
sizeIndex += 1;
}
string.Format(“{0} {1}”, Math.Round(formattedSize, decimals).ToString(), サイズを返す[sizeIndex]);
}
[ad_2]
コメント