문제

제목에서 알 수 있듯이 디렉토리에서 많은 파일의 속성을 얻을 수있는 방법을 찾고 있지만 각 파일에 대한 추가 디스크 액세스 비용을 추가하지 않습니다.

예를 들어, 컬렉션에서 fileInfo 객체의 이름 속성을 얻으면 추가 디스크 액세스가 없습니다. 그러나 LastWriteTimeUtc를 얻으면 추가 디스크 액세스가 이루어집니다.

내 코드 :

DirectoryInfo di = new DirectoryInfo(myDir);
FileInfo[] allFiles = di.GetFiles("*.*", SearchOption.TopDirectoryOnly);
foreach (FileInfo fInfo in allFiles)
{
    name = fInfo.Name  //no additional disk access made
    lastMod = fInfo.LastWriteTimeUtc  //further disk access made!!!
}

한 번의 여행 에서이 정보를 얻을 수있는 방법을 아는 사람이 있습니까? 나는 directoryInfo.getFiles ()가 이것을 수행하지만 운이 없기를 바랐다.

미리 감사드립니다.

도움이 되었습니까?

해결책 2

따라서 이것은 디자인으로 발생합니다. LastWriteTimeUtc는 게으른로드되었습니다. 그래서 다른 것을 할 수있는 것은 내 자신의 구성 요소를 씁니다.

다른 팁

만약 너라면 진짜 이것에 관심을 가지십시오. 아마도 findfirstfile/getfiletime 등을 사용하여 C로 작성해야 할 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top