有很多代碼塊可以返回兆字節中的硬盤大小。 但我有一個簡單的問題。硬盤驅動器的廠房大小 - C#
您購買了256 GB硬盤,但這些方法返回例如234 GB。 我知道工廠大小和確切大小之間存在差異。但我怎樣才能獲得工廠規模?任何類別或方法?或者我應該只使用switch case
或if else
並自己做?
ManagementClass mc = new ManagementClass("Win32_DiskDrive");
double MemSize = 0;
foreach (ManagementObject mo in mc.GetInstances())
{
if (mo["InterfaceType"].ToString() == "IDE")
{
MemSize += Convert.ToInt64(mo["Size"].ToString());
break;
}
}
return GetSize(MemSize);
這是一個簡單的方法,讓使用wmi
和方法GetSize
將大小轉換爲GB硬盤大小。但它根本不會返回Factory Size。
getSize方法對應:
public string GetSize(double len)
{
string[] sizes = { "B", "KB", "MB", "GB", "TB" };
int order = 0;
while (len >= 1024 && order < sizes.Length - 1)
{
order++;
len = len/1024;
}
return String.Format("{0:0.##} {1}", Math.Floor(len), sizes[order]);
如果我除以1000的大小,它會更接近廠房面積,但沒有確切的尺寸,例如256 GB將返回240 GB。
工廠大小通常(總是?)以1000的倍數而不是1024來測量,因爲它看起來像一個比它大的大小。你最好堅持你在這裏的東西。 – DavidG
@DavidG有沒有辦法修復返回工廠大小的GetSize方法? – Nofuzy
只需在您的GetSize方法中將1000替換爲1000即可獲得「工廠」大小。 –