를 사용할 때 ToList()
고려해야 할 성능 영향이 있습니까?
디렉토리에서 파일을 검색하는 쿼리를 작성했습니다. 이는 쿼리입니다.
string[] imageArray = Directory.GetFiles(directory);
그러나 List<>
대신 작업을 좋아하기 때문에 ...
List<string> imageList = Directory.GetFiles(directory).ToList();
따라서 이와 같은 변환을 결정할 때 고려해야 할 일종의 성능 영향이 있습니까? 아니면 많은 파일을 처리 할 때만 고려해야합니까? 무시할만한 전환입니까?
Add
또는 전화 할 필요가없는 경우 Remove
다음과 같이 남겨 두십시오 IEnumerable<T>
(또는 더 나은 방법 var
)
EnumerateFiles
대신 호출 하는 것이 좋습니다 GetFiles
. 따라서 하나의 배열 만 만들어집니다.
GetFiles(directory)
.NET에서 현재 구현되어 있으므로 거의 수행 new List<string>(EnumerateFiles(directory)).ToArray()
합니다. 따라서 GetFiles(directory).ToList()
리스트를 생성하고 그로부터 배열을 생성 한 다음리스트를 다시 생성합니다. 2kay가 말했듯이, 당신은 EnumerateFiles(directory).ToList()
여기서 하는 것을 선호해야 합니다.
List<T>
를 선호T[]
합니다 (물론 변환 으로 인해 눈에 띄는 성능 문제 가 발생 하지 않는 한) 나는 그것을 방문한다).