本文实例讲述了C#基于Extension Method(扩展方法)获得文件大小的方法。分享给大家供大家参考。具体分析如下:
文件信息类的一个Extension Method,返回文件大小的格式化的版本。
比如:1 GB or 100 B and it at max it will have two decimals.
添加下面代码到同样的命名空间的公共静态类,创建新的FileInfo,调用GetFileSize。
/// <summary> /// Gets a files formatted size. /// </summary> /// <param name="file">The file to return size of.</param> /// <returns></returns> public static string GetFileSize(this FileInfo file) { try { //determine all file sizes double sizeinbytes = file.Length; double sizeinkbytes = Math.Round((sizeinbytes / 1024)); double sizeinmbytes = Math.Round((sizeinkbytes / 1024)); double sizeingbytes = Math.Round((sizeinmbytes / 1024)); if (sizeingbytes > 1) return string.Format("{0} GB", sizeingbytes); //returns size in gigabytes else if (sizeinmbytes > 1) return string.Format("{0} MB", sizeinmbytes); //returns size in megabytes if less than one gigabyte else if (sizeinkbytes > 1) return string.Format("{0} KB", sizeinkbytes); //returns size in kilabytes if less than one megabyte else return string.Format("{0} B", sizeinbytes); //returns size in bytes if less than one kilabyte } catch { return "Error Getting Size"; } //catches any possible error and just returns error getting size }
希望本文所述对大家的C#程序设计有所帮助。