/// <summary> /// 将文件大小格式化为带容量单位的字符串形式(指定容量单位格式)。 /// </summary> /// <param name="fileSize">给定的文件大小。</param> /// <param name="format">给定的 <see cref="UnitFormat"/>。</param> /// <param name="notation">给定的 <see cref="UnitNotation"/>(可选;默认使用 <see cref="UnitNotation.BinarySystem"/>)。</param> /// <returns>返回字符串。</returns> public static string FormatCapacity(this int fileSize, UnitFormat format, UnitNotation notation = UnitNotation.BinarySystem) { var info = UnitDefinitionHelper.GetInfo(format, notation); return(fileSize.FormatCapacity(info)); }
/// <summary> /// 将文件大小格式化为带容量单位的字符串形式(根据文件大小自适应适配容量单位格式)。 /// </summary> /// <param name="fileSize">给定的文件大小。</param> /// <param name="notation">给定的 <see cref="UnitNotation"/>(可选;默认使用 <see cref="UnitNotation.BinarySystem"/>)。</param> /// <returns>返回字符串。</returns> public static string FormatCapacity(this long fileSize, UnitNotation notation = UnitNotation.BinarySystem) { var infos = UnitDefinitionHelper.GetInfos(notation).Reverse(); foreach (var info in infos) { if (fileSize >= info.Size) { return(info.FormatString(fileSize)); } } return($"{fileSize} Bytes"); }