C#基于Extension Method(擴(kuò)展方法)獲得文件大小的方法
本文實(shí)例講述了C#基于Extension Method(擴(kuò)展方法)獲得文件大小的方法。分享給大家供大家參考。具體分析如下:
文件信息類的一個(gè)Extension Method,返回文件大小的格式化的版本。
比如:1 GB or 100 B and it at max it will have two decimals.
添加下面代碼到同樣的命名空間的公共靜態(tài)類,創(chuàng)建新的FileInfo,調(diào)用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
}
希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。
相關(guān)文章
C#中把FastReport.Net報(bào)表控件的數(shù)據(jù)保存到數(shù)據(jù)庫(kù)
這篇文章介紹了在數(shù)據(jù)庫(kù)中保存FastReport.Net報(bào)表的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06
C#中的自動(dòng)類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換
這篇文章主要介紹了C#中的自動(dòng)類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-08-08
C#使用Json.Net進(jìn)行序列化和反序列化及定制化
在本篇文章里小編給大家分享了關(guān)于C#使用Json.Net進(jìn)行序列化和反序列化及定制化的知識(shí)點(diǎn)總結(jié),需要的朋友們參考學(xué)習(xí)下。2019-05-05
C#實(shí)現(xiàn)Socket服務(wù)器及多客戶端連接的方式
這篇文章介紹了C#實(shí)現(xiàn)Socket服務(wù)器及多客戶端連接的方式,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-01-01
C#使用JavaScriptSerializer序列化時(shí)的時(shí)間類型處理
這篇文章主要為大家詳細(xì)介紹了C#使用JavaScriptSerializer序列化時(shí)的時(shí)間類型處理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
C#實(shí)現(xiàn)應(yīng)用程序的監(jiān)控與調(diào)試的示例代碼
日志記錄是軟件開(kāi)發(fā)中不可或缺的功能,它能幫助開(kāi)發(fā)者在應(yīng)用程序運(yùn)行時(shí)記錄重要信息,本文就來(lái)介紹一下常用日志記錄功能以及常用的日志庫(kù),感興趣的可以了解一下2024-03-03

