欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#基于Extension Method(扩展方法)获得文件大小的方法

程序员文章站 2022-10-15 16:47:46
本文实例讲述了c#基于extension method(扩展方法)获得文件大小的方法。分享给大家供大家参考。具体分析如下: 文件信息类的一个extension metho...

本文实例讲述了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#程序设计有所帮助。