이전에 올렸던 Length 단위에 이어 두번째 File Size 관련된 단위입니다.
귀찮았는데 막상 파일사이즈를 보여야 할 일이 있어서
간단히 Property 를 이용해서 작성해 봤네요.
C# 프로퍼티(Property)의 가장 적절한 예가 아닌가 생각됩니다. ㅋㅋㅋ
class FileSize
{
public enum UNITS { B, KB, MB, GB, TB }
double b = 0;
double kb = 0;
double mb = 0;
double gb = 0;
double tb = 0;
public double B
{
get
{
return this.b;
}
set
{
this.b = value;
this.kb = this.b / 1024;
this.mb = this.kb / 1024;
this.gb = this.mb / 1024;
this.tb = this.gb / 1024;
}
}
public double KB
{
get
{
return this.kb;
}
set
{
this.kb = value;
this.B = this.kb * 1024;
}
}
public double MB
{
get
{
return this.mb;
}
set
{
this.mb = value;
this.KB = this.mb * 1024;
}
}
public double GB
{
get
{
return this.gb;
}
set
{
this.gb = value;
this.MB = this.gb * 1024;
}
}
public double TB
{
get
{
return this.tb;
}
set
{
this.tb = value;
this.GB = this.tb * 1024;
}
}
public FileSize(double size)
{
this.B = size;
}
public override string ToString()
{
string ret = string.Empty;
if (b < 1024D)
{
ret = string.Format("{0}{1}", b, UNITS.B.ToString());
}
else if (kb < 1024D)
{
ret = string.Format("{0}{1}", kb, UNITS.KB.ToString());
}
else if (mb < 1024D)
{
ret = string.Format("{0}{1}", mb, UNITS.MB.ToString());
}
else if (gb < 1024D)
{
ret = string.Format("{0}{1}", gb, UNITS.GB.ToString());
}
else
{
ret = string.Format("{0}{1}", tb, UNITS.TB.ToString());
}
return ret;
}
}
'.NET > C#' 카테고리의 다른 글
| Windows Service Debugging (0) | 2009/10/21 |
|---|---|
| Unicode 한글 코드 표 (0) | 2009/09/27 |
| C# : Unit Class - File Size (0) | 2009/05/14 |
| Memory usage of current thread on C# windows form app. (0) | 2009/04/23 |
| C# : TextBox Auto Scrolling (2) | 2009/04/20 |
| Better string.IsNullOrEmpty() ? How to do C#.NET 3.0 (0) | 2009/04/14 |

이올린에 북마크하기
이올린에 추천하기
Prev




