Formatting a filesize as GB, MB, KB

public static class FileSizeExtensions
	{
		[DllImport("Shlwapi.dll", CharSet = CharSet.Auto)]
		public static extern long StrFormatByteSize(long fileSize,
		                                            [MarshalAs(UnmanagedType.LPTStr)] StringBuilder buffer, int bufferSize);

		public static string DisplayAsByteSize(this long filesize)
		{
			StringBuilder sbBuffer = new StringBuilder(20);
			StrFormatByteSize(filesize, sbBuffer, 20);
			return sbBuffer.ToString();
		}
	}
Advertisements