Ejemplo n.º 1
0
        /// <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));
        }
Ejemplo n.º 2
0
        /// <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");
        }
Ejemplo n.º 3
0
 /// <summary>
 /// 获取指定单位计数制的单位定义信息集合。
 /// </summary>
 /// <param name="notation">给定的 <see cref="UnitNotation"/>。</param>
 /// <returns>返回 <see cref="IReadOnlyList{UnitDefinitionInfo}"/>。</returns>
 public static IReadOnlyList <UnitDefinitionInfo> GetInfos(UnitNotation notation)
 => notation == UnitNotation.BinarySystem ? SupportBinaryInfos : SupportDecimalInfos;
Ejemplo n.º 4
0
        /// <summary>
        /// 获取单位定义信息。
        /// </summary>
        /// <param name="format">给定的 <see cref="UnitFormat"/>。</param>
        /// <param name="notation">给定的 <see cref="UnitNotation"/>。</param>
        /// <returns>返回 <see cref="UnitDefinitionInfo"/>。</returns>
        public static UnitDefinitionInfo GetInfo(UnitFormat format, UnitNotation notation)
        {
            var info = GetDescriptor(format);

            return(notation == UnitNotation.BinarySystem ? info.BinaryInfo : info.DecimalInfo);
        }