이름, 확장명, 크기 및 위치의 4 개 열로 된 목록보기가 있습니다. 파일 크기를 바이트로 취하고 필요에 따라 KB, MB, GB 등으로 변환하는 방법이 있습니다. 예제 출력은 "1KB"로 인쇄되는 1024 바이트 파일입니다. 이 값은 목록보기에 배치됩니다.파일 크기별로 목록보기를 정렬하는 방법은 무엇입니까?
크기 열을 지능적으로 정렬해야합니다. 현재 정렬은 단순한 비교 일 뿐이므로 1025KB는 1024MB보다 큽니다. "크기 인식"을 어떻게 만들 수 있습니까? http://support.microsoft.com/kb/319401 그리고 여기에 파일 크기의 텍스트를 생성 내 코드입니다 :
나의 현재 분류 코드는이 기술 자료 문서에서입니다
public static string getDynamicFileSize(string fileName)
{
FileInfo fi = new FileInfo(fileName);
long sizeInBytes = fi.Length;
if (sizeInBytes >= 1073741824)
{
double sizeInGB = sizeInBytes/Math.Pow(1024, 3);
return Math.Round(sizeInGB, 2) + " GB";
}
if (sizeInBytes >= 1048576)
{
double sizeInMB = sizeInBytes/Math.Pow(1024, 2);
return Math.Round(sizeInMB, 2) + " MB";
}
if (sizeInBytes >= 1024)
{
double sizeInKB = sizeInBytes/Math.Pow(1024,1);
return Math.Round(sizeInKB, 2) + " KB";
}
//No conversion needed
return sizeInBytes + " bytes";
}
감사합니다.
부탁드립니다. –