2013-03-26 2 views
0
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]); 
     } 

Я получил этоспецификаторов параметров по умолчанию не допускаются в C# настольных приложений

"спецификаторов параметров по умолчанию не допускается"

ошибка "Int32 decimals = 2"

+2

Дополнительные параметры в C# были введены только в C# 2010 (и VS2010). Если (как подсказывает тэг), вы используете .NET 2.0 и VS2008, тогда сообщение об ошибке в значительной степени самоочевидно. Каков твой вопрос? –

ответ

1

Поскольку Ваш код выглядит хорошо для меня, но Optional parameters поставляется с Visual Studio 2010 (и, возможно, платформой .NET 4.0)

C# 2010 представляет Визуальные именованные и необязательные аргументы

Вам нужен метод, как;

private string formatSizeBinary(Int64 size, Int32 decimals, int value) 
     { 
      decimals = value; 
      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]); 
     } 

Тогда вы можете назвать это тем, значение которого вы хотите;

formatSizeBinary(yoursize, decimals, 2); 
formatSizeBinary(yoursize, decimals, 3); 
formatSizeBinary(yoursize, decimals, 4); 
+0

Параметры _Default не поддерживаются в C# _ Это ** неправильно **. –

+0

если я хочу передать десятичные числа = 3, чем то, что я должен делать? – 2013-03-26 08:51:32

+0

это пишите, но мой вопрос передается другой ценности, чем то, что я должен делать? – 2013-03-26 08:53:57

Смежные вопросы