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

 更新时间:2015年06月15日 11:11:25   作者:小卒过河  
这篇文章主要介绍了C#基于Extension Method(扩展方法)获得文件大小的方法,实例分析了C#扩展方法的定义与文件操作的相关技巧,需要的朋友可以参考下

本文实例讲述了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#中把FastReport.Net报表控件的数据保存到数据库

    C#中把FastReport.Net报表控件的数据保存到数据库

    这篇文章介绍了在数据库中保存FastReport.Net报表的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • C#中的自动类型转换和强制类型转换

    C#中的自动类型转换和强制类型转换

    这篇文章主要介绍了C#中的自动类型转换和强制类型转换,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-08-08
  • C#求数组中元素全排列的方法

    C#求数组中元素全排列的方法

    这篇文章主要介绍了C#求数组中元素全排列的方法,较为详细的分析了数组全排列算法的原理与实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • c# Base64编码和图片的互相转换代码

    c# Base64编码和图片的互相转换代码

    Base64编码在Web方面有很多应用,譬如在URL、电子邮件方面。网上有很多相关的资源用于提供Base64编码和其他编码的转换,.Net Framework也提供了现成的功能类(System.Convert)用于将二进制数据转换为Base64字符串
    2014-08-08
  • C#使用Json.Net进行序列化和反序列化及定制化

    C#使用Json.Net进行序列化和反序列化及定制化

    在本篇文章里小编给大家分享了关于C#使用Json.Net进行序列化和反序列化及定制化的知识点总结,需要的朋友们参考学习下。
    2019-05-05
  • c# 如何用组合替代继承

    c# 如何用组合替代继承

    这篇文章主要介绍了c# 如何用组合替代继承,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-02-02
  • C#实现Socket服务器及多客户端连接的方式

    C#实现Socket服务器及多客户端连接的方式

    这篇文章介绍了C#实现Socket服务器及多客户端连接的方式,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01
  • C#的this关键字的2种用法

    C#的this关键字的2种用法

    这篇文章主要给大家分享的是C#的this关键字的2种用法,在使用C#的过程中,发现this关键是比较少用的,但是在下面这二个场合下是必须要使用的,不使用它是解决不了问题。下面我们就来看看文章的具体内容吧
    2021-10-10
  • C#使用JavaScriptSerializer序列化时的时间类型处理

    C#使用JavaScriptSerializer序列化时的时间类型处理

    这篇文章主要为大家详细介绍了C#使用JavaScriptSerializer序列化时的时间类型处理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • C#实现应用程序的监控与调试的示例代码

    C#实现应用程序的监控与调试的示例代码

    日志记录是软件开发中不可或缺的功能,它能帮助开发者在应用程序运行时记录重要信息,本文就来介绍一下常用日志记录功能以及常用的日志库,感兴趣的可以了解一下
    2024-03-03

最新评论