本文实例讲述了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#程序设计有所帮助。
您可能感兴趣的文章:C#中的扩展方法详解C#获取图片文件扩展名的方法C# TextBox 扩展方法数据验证详细说明C#常用的字符串扩展方法汇总解析C#的扩展方法C#中反射和扩展方法如何运用asp.net中CSharpThinking扩展方法分析基于C# MBG 扩展方法类库的使用详解c#中的扩展方法学习笔记