DotNet指定文件显示的尺寸
在项目中开发中,有时候需要将文件的尺寸进行控制,例如需要将文件的尺寸指定为字节,TB等。现在提供一个方法,实现将指定文件的尺寸,
提供:"字节", "KB", "MB", "GB", "TB"等尺寸的控制选项,一下方法代码可以在项目中直接使用,提高项目的开发效率。
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] public static class FsLibValueExtract { readonly static string[] SizeDefinitions = { "字节", "KB", "MB", "GB", "TB" }; /// <summary> /// 控制尺寸显示转换上限 /// </summary> readonly static double SizeLevel = 0x400 * 0.9; /// <summary> /// 转换为尺寸显示方式 /// </summary> /// <param name="size">大小</param> /// <returns>尺寸显示方式</returns> public static string ToSizeDescription(this double size) { return ToSizeDescription(size, 2); } /// <summary> /// 转换为尺寸显示方式 /// </summary> /// <param name="size">大小</param> /// <param name="digits">小数位数</param> /// <returns>尺寸显示方式</returns> public static string ToSizeDescription(this double size, int digits) { var sizeDefine = 0; while (sizeDefine < SizeDefinitions.Length && size > SizeLevel) { size /= 0x400; sizeDefine++; } if (sizeDefine == 0) return size.ToString("#0") + " " + SizeDefinitions[sizeDefine]; return size.ToString("#0." + string.Empty.PadLeft(digits, '#')) + " " + SizeDefinitions[sizeDefine]; } /// <summary> /// 转换为尺寸显示方式 /// </summary> /// <param name="size">大小</param> /// <returns>尺寸显示方式</returns> public static string ToSizeDescription(this ulong size) { return ((double)size).ToSizeDescription(); } /// <summary> /// 转换为尺寸显示方式 /// </summary> /// <param name="size">大小</param> /// <param name="digits">小数位数</param> /// <returns>尺寸显示方式</returns> public static string ToSizeDescription(this ulong size, int digits) { return ((double)size).ToSizeDescription(digits); } /// <summary> /// 转换为尺寸显示方式 /// </summary> /// <param name="size">大小</param> /// <returns>尺寸显示方式</returns> public static string ToSizeDescription(this long size) { return ((double)size).ToSizeDescription(); } /// <summary> /// 转换为尺寸显示方式 /// </summary> /// <param name="size">大小</param> /// <param name="digits">小数位数</param> /// <returns>尺寸显示方式</returns> public static string ToSizeDescription(this long size, int digits) { return ((double)size).ToSizeDescription(digits); } /// <summary> /// 转换为尺寸显示方式 /// </summary> /// <param name="size">大小</param> /// <returns>尺寸显示方式</returns> public static string ToSizeDescription(this int size) { return ((double)size).ToSizeDescription(); } /// <summary> /// 转换为尺寸显示方式 /// </summary> /// <param name="size">大小</param> /// <param name="digits">小数位数</param> /// <returns>尺寸显示方式</returns> public static string ToSizeDescription(this int size, int digits) { return ((double)size).ToSizeDescription(digits); } }
以上只是文件尺寸进行一个算术运算,实现以上所述的功能。
感谢您的阅读,如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮。本文欢迎各位转载,但是转载文章之后必须在文章页面中给出作者和原文连接。如果需要获取最新的优秀.NET博文,请关注微信公众号“DotNet技术分享”。
爱知求真,静心钻研,虚心学习,务实创新,细致平和。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App