VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > c#教程 >
  • C#教程之C#教程之C#基于Extension Method(扩展方法)获得文件大

本站最新发布   C#从入门到精通
试听地址  
https://www.xin3721.com/eschool/CSharpxin3721/

本文实例讲述了C#基于Extension Method(扩展方法)获得文件大小的方法。分享给大家供大家参考。具体分析如下:

文件信息类的一个Extension Method,返回文件大小的格式化的版本。
比如:1 GB or 100 B and it at max it will have two decimals.

添加下面代码到同样的命名空间的公共静态类,创建新的FileInfo,调用GetFileSize。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/// <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#程序设计有所帮助。

相关教程