C#基于Extension Method(擴展方法)獲得文件大小的方法
本文實例講述了C#基于Extension Method(擴展方法)獲得文件大小的方法。分享給大家供大家參考。具體分析如下:
文件信息類的一個Extension Method,返回文件大小的格式化的版本。
比如:1 GB or 100 B and it at max it will have two decimals.
添加下面代碼到同樣的命名空間的公共靜態(tài)類,創(chuàng)建新的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# 延遲Task.Delay()和Thread.Sleep()的具體使用
Thread.Sleep()是同步延遲,Task.Delay()是異步延遲,本文主要介紹了C# 延遲Task.Delay()和Thread.Sleep()的具體使用,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧2024-01-01
Unity UGUI的HorizontalLayoutGroup水平布局組件介紹使用
這篇文章主要為大家介紹了Unity UGUI的HorizontalLayoutGroup水平布局組件介紹使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-07-07
UpdateLayeredWindow實現(xiàn)任意異形窗口使用詳解
這篇文章主要為大家介紹了UpdateLayeredWindow實現(xiàn)任意異形窗口使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09
將c#編寫的程序打包成應用程序的實現(xiàn)步驟分享(安裝,卸載) 圖文
時常會寫用c#一些程序,但如何將他們和photoshop一樣的大型軟件打成一個壓縮包,以便于發(fā)布.2011-12-12

